summaryrefslogtreecommitdiff
path: root/source4/lib
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2003-12-12 03:59:09 +0000
committerAndrew Tridgell <tridge@samba.org>2003-12-12 03:59:09 +0000
commit16309de71d6c8de96e869aeaab0b879185991d87 (patch)
treed122fe6bd25cd87df5422b0af661c9e93db31ef8 /source4/lib
parentfcc4efd1ea637c810eed8444080b87d7f92c837a (diff)
downloadsamba-16309de71d6c8de96e869aeaab0b879185991d87.tar.gz
samba-16309de71d6c8de96e869aeaab0b879185991d87.tar.bz2
samba-16309de71d6c8de96e869aeaab0b879185991d87.zip
* the RPC-ECHO pipe now works in smbd, as long as the data sizes
don't cause fragmented pdus (I'll add fragments shortly) * change data_blob_talloc() to not zero memory when the 2nd argument is NULL. The zeroing just masks bugs, and can't even allow a DOS attack * modified pidl to ensure that [ref] arguments to the out side of functions are allocated when parsing the in side. This allows rpc backends to assume that [ref] variables are all setup. Doesn't work correctly for [ref] arrays yet * changed DLIST_ADD_END() to take the type instead of a tmp variable. This means you don't need to declare a silly tmp variable in the caller (This used to be commit 46e0a358198eeb9af1907ee2a29025d3ab23b6d1)
Diffstat (limited to 'source4/lib')
-rw-r--r--source4/lib/data_blob.c2
-rw-r--r--source4/lib/tdb/tdbutil.c3
2 files changed, 2 insertions, 3 deletions
diff --git a/source4/lib/data_blob.c b/source4/lib/data_blob.c
index 933617e9ee..457ad382a2 100644
--- a/source4/lib/data_blob.c
+++ b/source4/lib/data_blob.c
@@ -67,12 +67,12 @@ DATA_BLOB data_blob_talloc(TALLOC_CTX *mem_ctx, const void *p, size_t length)
}
if (p == NULL) {
+ /* note that we do NOT zero memory in this case */
ret.data = talloc(mem_ctx, length);
if (ret.data == NULL) {
smb_panic("data_blob_talloc: talloc_memdup failed.\n");
}
ret.length = length;
- memset(ret.data, 0, ret.length);
ret.free = NULL;
return ret;
}
diff --git a/source4/lib/tdb/tdbutil.c b/source4/lib/tdb/tdbutil.c
index ce5188300c..3c22333b4d 100644
--- a/source4/lib/tdb/tdbutil.c
+++ b/source4/lib/tdb/tdbutil.c
@@ -710,7 +710,6 @@ TDB_LIST_NODE *tdb_search_keys(TDB_CONTEXT *tdb, const char* pattern)
TDB_DATA key, next;
TDB_LIST_NODE *list = NULL;
TDB_LIST_NODE *rec = NULL;
- TDB_LIST_NODE *tmp = NULL;
for (key = tdb_firstkey(tdb); key.dptr; key = next) {
/* duplicate key string to ensure null-termination */
@@ -731,7 +730,7 @@ TDB_LIST_NODE *tdb_search_keys(TDB_CONTEXT *tdb, const char* pattern)
rec->node_key = key;
- DLIST_ADD_END(list, rec, tmp);
+ DLIST_ADD_END(list, rec, TDB_LIST_NODE *);
DEBUG(18, ("checking %s matched pattern %s\n", key_str, pattern));
} else {