The branch, master has been updated via a56ede9... s4-ldb: cope with bad ptr alignment in ldb_index.c from 5c016ad... s4 selftest: Ignore more winbind test known to fail
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit a56ede9027125aa9e70358661b2db1e9f993e939 Author: Andrew Tridgell <tri...@samba.org> Date: Sat Jan 16 08:58:27 2010 +1100 s4-ldb: cope with bad ptr alignment in ldb_index.c We can't assume that a rec_ptr will come back from a tdb traverse with alignment sufficient for a pointer. ----------------------------------------------------------------------- Summary of changes: source4/lib/ldb/ldb_tdb/ldb_index.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) Changeset truncated at 500 lines: diff --git a/source4/lib/ldb/ldb_tdb/ldb_index.c b/source4/lib/ldb/ldb_tdb/ldb_index.c index 01d0d6c..4b31021 100644 --- a/source4/lib/ldb/ldb_tdb/ldb_index.c +++ b/source4/lib/ldb/ldb_tdb/ldb_index.c @@ -103,12 +103,12 @@ static struct dn_list *ltdb_index_idxptr(struct ldb_module *module, TDB_DATA rec "Bad data size for idxptr %u", (unsigned)rec.dsize); return NULL; } - - list = talloc_get_type(*(struct dn_list **)rec.dptr, struct dn_list); + memcpy(&list, rec.dptr, sizeof(void *)); + list = talloc_get_type(list, struct dn_list); if (list == NULL) { ldb_asprintf_errstring(ldb_module_get_ctx(module), "Bad type '%s' for idxptr", - talloc_get_name(*(struct dn_list **)rec.dptr)); + talloc_get_name(list)); return NULL; } if (check_parent && list->dn && talloc_parent(list->dn) != list) { -- Samba Shared Repository