diff options
author | Andrew Bartlett <abartlet@samba.org> | 2003-06-08 12:51:31 +0000 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2003-06-08 12:51:31 +0000 |
commit | 46d106f2eb03e88b29e33e15d103b5e01ee3ff7e (patch) | |
tree | b77678cf2fea73a95efa73c936db1b485f0956ae | |
parent | e4bc8f08c35aeff9aa430058a82a16a515ef474d (diff) | |
download | samba-46d106f2eb03e88b29e33e15d103b5e01ee3ff7e.tar.gz samba-46d106f2eb03e88b29e33e15d103b5e01ee3ff7e.tar.bz2 samba-46d106f2eb03e88b29e33e15d103b5e01ee3ff7e.zip |
Fix some memory leaks and extra cache startups/shutdowns from the trusted
domains lookup code.
Andrew Bartlett
(This used to be commit 0ec1b1207041a3b6050046ba6d7b466dd4fcf341)
-rw-r--r-- | source3/libsmb/trustdom_cache.c | 5 | ||||
-rw-r--r-- | source3/libsmb/trusts_util.c | 4 |
2 files changed, 5 insertions, 4 deletions
diff --git a/source3/libsmb/trustdom_cache.c b/source3/libsmb/trustdom_cache.c index cddbb2daa6..61b024da43 100644 --- a/source3/libsmb/trustdom_cache.c +++ b/source3/libsmb/trustdom_cache.c @@ -89,7 +89,7 @@ BOOL trustdom_cache_shutdown(void) static char* trustdom_cache_key(const char* name) { - char* keystr; + char* keystr = NULL; asprintf(&keystr, TDOMKEY_FMT, strupper_static(name)); return keystr; @@ -165,11 +165,14 @@ BOOL trustdom_cache_fetch(const char* name, DOM_SID* sid) /* prepare a key and get the value */ key = trustdom_cache_key(name); + if (!key) return False; if (!gencache_get(key, &value, &timeout)) { DEBUG(5, ("no entry for trusted domain %s found.\n", name)); + SAFE_FREE(key); return False; } else { + SAFE_FREE(key); DEBUG(5, ("trusted domain %s found (%s)\n", name, value)); } diff --git a/source3/libsmb/trusts_util.c b/source3/libsmb/trusts_util.c index 6244c844f2..e0c5e79595 100644 --- a/source3/libsmb/trusts_util.c +++ b/source3/libsmb/trusts_util.c @@ -154,9 +154,7 @@ BOOL is_trusted_domain(const char* dom_name) * Query the trustdom_cache updated periodically. The only * way for domain member server. */ - if (trustdom_cache_enable() && - trustdom_cache_fetch(dom_name, &trustdom_sid)) { - trustdom_cache_shutdown(); + if (trustdom_cache_fetch(dom_name, &trustdom_sid)) { return True; } |