[SCM] Samba Shared Repository - branch master updated

Andrew Tridgell tridge at samba.org
Fri Jan 15 15:35:04 MST 2010


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 <tridge at 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


More information about the samba-cvs mailing list