diff options
author | Volker Lendecke <vlendec@samba.org> | 2003-07-01 12:40:52 +0000 |
---|---|---|
committer | Volker Lendecke <vlendec@samba.org> | 2003-07-01 12:40:52 +0000 |
commit | b78dd91e68d6273d1fcd3470b1c3c333047fb186 (patch) | |
tree | 303c4452f364460e63d86736bf4abfc2e2391a0b /source3/lib/gencache.c | |
parent | 2b0662b33a4f104ae9f900a2984ae2f07dcc3c45 (diff) | |
download | samba-b78dd91e68d6273d1fcd3470b1c3c333047fb186.tar.gz samba-b78dd91e68d6273d1fcd3470b1c3c333047fb186.tar.xz samba-b78dd91e68d6273d1fcd3470b1c3c333047fb186.zip |
Fix two memory leaks. tdb_search_keys allocates space for the key
strings.
Running 'net cache list' or secrets_get_trusted_domains through
valgrind gives a *huge* amount of invalid reads of one byte beyond the
indicated string length in libc's strncpy. Annoying...
Volker
(This used to be commit 0f8933ae778064ff58cdc832ce52c843631435bb)
Diffstat (limited to 'source3/lib/gencache.c')
-rw-r--r-- | source3/lib/gencache.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/source3/lib/gencache.c b/source3/lib/gencache.c index f3740e3e127..b94e35eff4d 100644 --- a/source3/lib/gencache.c +++ b/source3/lib/gencache.c @@ -329,6 +329,7 @@ void gencache_iterate(void (*fn)(const char* key, const char *value, time_t time if (!databuf.dptr || databuf.dsize <= TIMEOUT_LEN) { SAFE_FREE(databuf.dptr); SAFE_FREE(keystr); + SAFE_FREE(node->node_key.dptr); node = node->next; continue; } @@ -344,6 +345,7 @@ void gencache_iterate(void (*fn)(const char* key, const char *value, time_t time SAFE_FREE(valstr); SAFE_FREE(entry); SAFE_FREE(keystr); + SAFE_FREE(node->node_key.dptr); node = node->next; } |