summaryrefslogtreecommitdiffstats
path: root/ldap
diff options
context:
space:
mode:
authorEndi S. Dewata <edewata@redhat.com>2010-07-02 00:00:40 -0500
committerNoriko Hosoi <nhosoi@redhat.com>2010-08-23 11:05:36 -0700
commitcbc0d49f5f3201f56a39eac919570c7a528f5305 (patch)
tree79d6cc108af551921208bc7c74856e3282bb94b3 /ldap
parent936c24aba64eac82ef7054d09d7b9bd8b01a5aca (diff)
downloadds-cbc0d49f5f3201f56a39eac919570c7a528f5305.tar.gz
ds-cbc0d49f5f3201f56a39eac919570c7a528f5305.tar.xz
ds-cbc0d49f5f3201f56a39eac919570c7a528f5305.zip
Bug 610119 - fix coverify Defect Type: Null pointer dereferences issues 12167 - 12199
https://bugzilla.redhat.com/show_bug.cgi?id=610119 Resolves: bug 610119 Bug description: Fix coverify Defect Type: Null pointer dereferences issues 12167 - 12199 Fix description: Catch possible NULL pointer in vlv_init().
Diffstat (limited to 'ldap')
-rw-r--r--ldap/servers/slapd/back-ldbm/vlv.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/ldap/servers/slapd/back-ldbm/vlv.c b/ldap/servers/slapd/back-ldbm/vlv.c
index 9d749d6e..0d282400 100644
--- a/ldap/servers/slapd/back-ldbm/vlv.c
+++ b/ldap/servers/slapd/back-ldbm/vlv.c
@@ -345,7 +345,15 @@ vlv_init(ldbm_instance *inst)
char *basedn = NULL;
const char *searchfilter = "(objectclass=vlvsearch)";
const char *indexfilter = "(objectclass=vlvindex)";
- backend *be= inst->inst_be;
+ backend *be = NULL;
+
+ if (!inst) {
+ LDAPDebug(LDAP_DEBUG_ANY, "vlv_init: invalid instance.\n", 0, 0, 0);
+ return_value = LDAP_OPERATIONS_ERROR;
+ goto out;
+ }
+
+ be = inst->inst_be;
/* Initialize lock first time through */
if(be->vlvSearchList_lock == NULL) {
@@ -368,9 +376,8 @@ vlv_init(ldbm_instance *inst)
be->vlvSearchList = NULL;
PR_RWLock_Unlock(be->vlvSearchList_lock);
}
- if (inst == NULL) {
- basedn = NULL;
- } else {
+
+ {
basedn = slapi_create_dn_string("cn=%s,cn=%s,cn=plugins,cn=config",
inst->inst_name, inst->inst_li->li_plugin->plg_name);
if (NULL == basedn) {
@@ -417,6 +424,7 @@ vlv_init(ldbm_instance *inst)
slapi_ch_free_string(&basedn);
}
+out:
return return_value;
}