Browse Source

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().
Endi S. Dewata 15 years ago
parent
commit
cbc0d49f5f
1 changed files with 12 additions and 4 deletions
  1. 12 4
      ldap/servers/slapd/back-ldbm/vlv.c

+ 12 - 4
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;
 }