summaryrefslogtreecommitdiffstats
path: root/src/cache.c
diff options
context:
space:
mode:
authorMartin Nagy <mnagy@redhat.com>2009-07-24 19:54:44 +0200
committerMartin Nagy <mnagy@redhat.com>2009-08-04 16:50:53 +0200
commit7eff993a45adcd9bed2b9710465ea600adee443a (patch)
tree7032b2d2d47e3b7a942e80b13e553f3ec186e40b /src/cache.c
parent2f68fa390a61676a01cd82bc00e4a44867041299 (diff)
downloadldap_driver-7eff993a45adcd9bed2b9710465ea600adee443a.tar.gz
ldap_driver-7eff993a45adcd9bed2b9710465ea600adee443a.tar.xz
ldap_driver-7eff993a45adcd9bed2b9710465ea600adee443a.zip
Fix a crash bug in findnode()
If the create argument was set to ISC_TRUE and nothing was found by cached_ldap_rdatalist_get(), the rdatalist variable was left uninitialized. This later caused crash in ldapdb_rdatalist_findrdatatype(), when trying to access memory that rdatalist pointed to. Resolves ticket #18
Diffstat (limited to 'src/cache.c')
-rw-r--r--src/cache.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/cache.c b/src/cache.c
index bd6ba7c..de99ad9 100644
--- a/src/cache.c
+++ b/src/cache.c
@@ -175,6 +175,8 @@ cached_ldap_rdatalist_get(isc_mem_t *mctx, ldap_cache_t *cache,
REQUIRE(cache != NULL);
+ INIT_LIST(*rdatalist);
+
if (cache->rbt == NULL)
return ldapdb_rdatalist_get(mctx, ldap_inst, name, origin,
rdatalist);