diff options
author | Nathan Kinder <nkinder@redhat.com> | 2010-09-13 15:05:52 -0700 |
---|---|---|
committer | Nathan Kinder <nkinder@redhat.com> | 2010-09-15 09:11:05 -0700 |
commit | 3571d7a5855cb1c222f83f98e03c340185e43152 (patch) | |
tree | 1d74ca9aaa765a66ffd43c5d61b3839e7bc55db8 /ldap | |
parent | 562f39848cdb2486d97cc730607337f7bd5e566c (diff) | |
download | ds-3571d7a5855cb1c222f83f98e03c340185e43152.tar.gz ds-3571d7a5855cb1c222f83f98e03c340185e43152.tar.xz ds-3571d7a5855cb1c222f83f98e03c340185e43152.zip |
Bug 630097 - (cov#12143) NULL dereference in cos cache code
The tmpDn pointer is deferenced before checking if it is NULL. We
need to check if it is NULL first.
Diffstat (limited to 'ldap')
-rw-r--r-- | ldap/servers/plugins/cos/cos_cache.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/ldap/servers/plugins/cos/cos_cache.c b/ldap/servers/plugins/cos/cos_cache.c index fe8f5346..e20fd0de 100644 --- a/ldap/servers/plugins/cos/cos_cache.c +++ b/ldap/servers/plugins/cos/cos_cache.c @@ -1383,7 +1383,7 @@ static int cos_cache_add_defn( int ret = 0; int tmplCount = 0; cosDefinitions *theDef = 0; - cosAttrValue *pTmpTmplDn = *tmpDn; + cosAttrValue *pTmpTmplDn = 0; cosAttrValue *pDummyAttrVal = 0; cosAttrValue *pAttrsIter = 0; cosAttributes *pDummyAttributes = 0; @@ -1396,9 +1396,15 @@ static int cos_cache_add_defn( ret = -1; goto out; } - pSpecsIter = *spec; + if (!tmpDn) { + LDAPDebug( LDAP_DEBUG_ANY, "missing tmpDn\n",0,0,0); + ret = -1; + goto out; + } + pTmpTmplDn = *tmpDn; + /* we don't want cosspecifiers that can be supplied by the same scheme */ while( pSpecsIter ) { |