diff options
author | Martin Nagy <mnagy@redhat.com> | 2009-07-24 19:54:44 +0200 |
---|---|---|
committer | Martin Nagy <mnagy@redhat.com> | 2009-08-04 16:50:53 +0200 |
commit | 7eff993a45adcd9bed2b9710465ea600adee443a (patch) | |
tree | 7032b2d2d47e3b7a942e80b13e553f3ec186e40b /src/cache.c | |
parent | 2f68fa390a61676a01cd82bc00e4a44867041299 (diff) | |
download | ldap_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.c | 2 |
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); |