[389-commits] Branch '389-ds-base-1.2.11' - ldap/servers

Noriko Hosoi nhosoi at fedoraproject.org
Fri Jun 20 01:12:24 UTC 2014


 ldap/servers/plugins/cos/cos_cache.c       |   13 ++++---
 ldap/servers/slapd/back-ldbm/ldbm_add.c    |    1 
 ldap/servers/slapd/back-ldbm/ldbm_search.c |   50 +++++++++++++----------------
 ldap/servers/slapd/daemon.c                |    8 +---
 ldap/servers/slapd/valueset.c              |    7 +++-
 5 files changed, 41 insertions(+), 38 deletions(-)

New commits:
commit ef7473dde11aa5c2b0041912b3f11099bb39ead8
Author: Noriko Hosoi <nhosoi at redhat.com>
Date:   Thu Jun 19 17:28:39 2014 -0700

    Ticket #47820 - 1.2.11 branch: coverity errors
    
    Description:
    * Deadcode
    1. Defect type: UNUSED_VALUE
    1. 389-ds-base-1.2.11.15/ldap/servers/slapd/daemon.c:1894:returned_pointer – Pointer "slapdFrontendConfig" returned by "getFrontendConfig()" is never used.
       Solution: removed the line 1894.
    
    * Clang
    1. Defect type: CLANG_WARNING
    1. 389-ds-base-1.2.11.15/ldap/servers/slapd/valueset.c:1116:20:warning – Array access (via field 'va') results in a null pointer dereference
    2. Defect type: CLANG_WARNING
    1. 389-ds-base-1.2.11.15/ldap/servers/slapd/valueset.c:1090:26:warning – Array access (via field 'va') results in a null pointer dereference
       Solution: Added the code to check null dereference on vs->va on vs->va
    
    3. Defect type: CLANG_WARNING
    1. 389-ds-base-1.2.11.15/ldap/servers/slapd/daemon.c:1896:6:warning – Value stored to 'maxthreads' during its initialization is never read
       Solution: removed the line 1896.
    
    4. Defect type: CLANG_WARNING
    1. 389-ds-base-1.2.11.15/ldap/servers/slapd/daemon.c:1894:25:warning – Value stored to 'slapdFrontendConfig' during its initialization is never read
       Solution: Already addressed in Deadcode : 1. Defect type: UNUSED_VALUE
    
    5. Defect type: CLANG_WARNING
    1. 389-ds-base-1.2.11.15/ldap/servers/slapd/daemon.c:1091:21:warning – Dereference of null pointer (loaded from variable 'nap')
       Solution: Added the code to check null dereference on nap and *nap.
    
    6. Defect type: CLANG_WARNING
    1. 389-ds-base-1.2.11.15/ldap/servers/slapd/back-ldbm/ldbm_search.c:455:25:warning – Value stored to 'virtual_list_view' is never read
       Solution: Porting bug (bz1109952; DS 47780).  Moved the line to the right position.
    
    7. Defect type: CLANG_WARNING
    1. 389-ds-base-1.2.11.15/ldap/servers/slapd/back-ldbm/ldbm_add.c:1110:2:warning – Value stored to 'noabort' is never read
       Solution: Removed unnecessary assignment.
    
    Compiler Warnings
    12. Defect type: COMPILER_WARNING
    2. 389-ds-base-1.2.11.15/ldap/servers/slapd/daemon.c:1896:warning – unused variable 'maxthreads'
       Solution: already addressed 3. Defect type: CLANG_WARNING
    
    13. Defect type: COMPILER_WARNING
    1. 389-ds-base-1.2.11.15/ldap/servers/slapd/daemon.c:1895:warning – unused variable 'idletimeout'
       Solution: Removed the unused variable.
    
    14. Defect type: COMPILER_WARNING ¶
    1. 389-ds-base-1.2.11.15/ldap/servers/slapd/daemon.c:1894:warning – unused variable 'slapdFrontendConfig'
       Solution: already addressed 1. Defect type: UNUSED_VALUE
    
    15. Defect type: COMPILER_WARNING
    2. 389-ds-base-1.2.11.15/ldap/servers/slapd/daemon.c:1788:warning – 'compute_idletimeout' defined but not used
       Solution: removed the unused function.
    
    https://fedorahosted.org/389/ticket/47820
    
    Reviewed by rmeggins at redhat.com (Thanks, Rich!!)

diff --git a/ldap/servers/plugins/cos/cos_cache.c b/ldap/servers/plugins/cos/cos_cache.c
index 1ff02f9..a89f5c5 100644
--- a/ldap/servers/plugins/cos/cos_cache.c
+++ b/ldap/servers/plugins/cos/cos_cache.c
@@ -942,7 +942,7 @@ cos_dn_defs_cb (Slapi_Entry* e, void *callback_data)
 			parent = slapi_create_dn_string("%s", orig);
 			if (!parent) {
 				parent = orig;
-				LDAPDebug1Arg(LDAP_DEBUG_ANY, 
+				slapi_log_error(SLAPI_LOG_FATAL, COS_PLUGIN_SUBSYSTEM,
 				              "cos_dn_defs_cb: "
 				              "failed to normalize parent dn %s. "
 				              "Adding the pre normalized dn.\n", 
@@ -959,18 +959,21 @@ cos_dn_defs_cb (Slapi_Entry* e, void *callback_data)
 			}
 			slapi_ch_free_string(&orig);
 		} else {
-			LDAPDebug1Arg(LDAP_DEBUG_ANY, 
+			slapi_log_error(SLAPI_LOG_FATAL, COS_PLUGIN_SUBSYSTEM,
 			              "cos_dn_defs_cb: "
 			              "failed to get parent dn of cos definition %s.\n",
 			              pDn->val);
 			if (!pCosTemplateDn) {
 				if (!pCosTargetTree) {
-					LDAPDebug0Args(LDAP_DEBUG_ANY, "cosTargetTree and cosTemplateDn are not set.\n");
+					slapi_log_error(SLAPI_LOG_FATAL, COS_PLUGIN_SUBSYSTEM,
+					                "cosTargetTree and cosTemplateDn are not set.\n");
 				} else {
-					LDAPDebug0Args(LDAP_DEBUG_ANY, "cosTemplateDn is not set.\n");
+					slapi_log_error(SLAPI_LOG_FATAL, COS_PLUGIN_SUBSYSTEM,
+					                "cosTemplateDn is not set.\n");
 				}
 			} else if (!pCosTargetTree) {
-				LDAPDebug0Args(LDAP_DEBUG_ANY, "cosTargetTree is not set.\n");
+				slapi_log_error(SLAPI_LOG_FATAL, COS_PLUGIN_SUBSYSTEM,
+				                "cosTargetTree is not set.\n");
 			}
 		}
 	}
diff --git a/ldap/servers/slapd/back-ldbm/ldbm_add.c b/ldap/servers/slapd/back-ldbm/ldbm_add.c
index 9e176fa..e1ae66e 100644
--- a/ldap/servers/slapd/back-ldbm/ldbm_add.c
+++ b/ldap/servers/slapd/back-ldbm/ldbm_add.c
@@ -1107,7 +1107,6 @@ ldbm_back_add( Slapi_PBlock *pb )
 		}
 		goto error_return; 
 	}
-	noabort = 1;
 
 	rc= 0;
 	goto common_return;
diff --git a/ldap/servers/slapd/back-ldbm/ldbm_search.c b/ldap/servers/slapd/back-ldbm/ldbm_search.c
index 626ba2e..46f7413 100644
--- a/ldap/servers/slapd/back-ldbm/ldbm_search.c
+++ b/ldap/servers/slapd/back-ldbm/ldbm_search.c
@@ -462,34 +462,32 @@ ldbm_back_search( Slapi_PBlock *pb )
                     }
 
                 } else {
-                    {
-                        /* Access Control Check to see if the client is allowed to use the VLV Control. */
-                        Slapi_Entry *feature;
-                        int rc;
-                        char dn[128];
-                        char *dummyAttr = "dummy#attr";
-                        char *dummyAttrs[2] = {NULL, NULL};
-
-                        dummyAttrs[0] = dummyAttr;
-
-                        /* This dn is normalized. */
-                        PR_snprintf(dn, sizeof (dn), "dn: oid=%s,cn=features,cn=config", LDAP_CONTROL_VLVREQUEST);
-                        feature = slapi_str2entry(dn, 0);
-                        rc = plugin_call_acl_plugin(pb, feature, dummyAttrs, NULL, SLAPI_ACL_READ, ACLPLUGIN_ACCESS_DEFAULT, NULL);
-                        slapi_entry_free(feature);
-                        if (rc != LDAP_SUCCESS) {
-                            /* Client isn't allowed to do this. */
-                            return ldbm_back_search_cleanup(pb, li, sort_control,
+                    /* Access Control Check to see if the client is allowed to use the VLV Control. */
+                    Slapi_Entry *feature;
+                    int rc;
+                    char dn[128];
+                    char *dummyAttr = "dummy#attr";
+                    char *dummyAttrs[2] = {NULL, NULL};
+
+                    dummyAttrs[0] = dummyAttr;
+
+                    /* This dn is normalized. */
+                    PR_snprintf(dn, sizeof (dn), "dn: oid=%s,cn=features,cn=config", LDAP_CONTROL_VLVREQUEST);
+                    feature = slapi_str2entry(dn, 0);
+                    rc = plugin_call_acl_plugin(pb, feature, dummyAttrs, NULL, SLAPI_ACL_READ, ACLPLUGIN_ACCESS_DEFAULT, NULL);
+                    slapi_entry_free(feature);
+                    if (rc != LDAP_SUCCESS) {
+                        /* Client isn't allowed to do this. */
+                        return ldbm_back_search_cleanup(pb, li, sort_control,
                                     rc, "VLV Control", SLAPI_FAIL_GENERAL,
                                     &vlv_request_control, NULL, candidates);
-                        }
                     }
+                    /*
+                     * Sorting must always be critical for VLV; Force it be so.
+                     */
+                    is_sorting_critical= 1;
+                    virtual_list_view= 1;
                 }
-                /*
-                 * Sorting must always be critical for VLV; Force it be so.
-                 */
-                is_sorting_critical= 1;
-                virtual_list_view= 1;
             }
             else
             {
@@ -1407,7 +1405,7 @@ ldbm_back_next_search_entry_ext( Slapi_PBlock *pb, int use_extension )
     back_txn               txn = {NULL};
     int                    pr_idx = -1;
     Slapi_Connection       *conn;
-    Slapi_Operation        *op;
+    Slapi_Operation        *op = NULL;
     int                    reverse_list = 0;
 
     slapi_pblock_get( pb, SLAPI_SEARCH_TARGET_SDN, &basesdn );
@@ -1791,7 +1789,7 @@ ldbm_back_next_search_entry_ext( Slapi_PBlock *pb, int use_extension )
     }
 
 bail:
-    if(rc){
+    if(rc && op) {
         op->o_reverse_search_state = 0;
     }
 
diff --git a/ldap/servers/slapd/daemon.c b/ldap/servers/slapd/daemon.c
index 9d24829..4cea840 100644
--- a/ldap/servers/slapd/daemon.c
+++ b/ldap/servers/slapd/daemon.c
@@ -1081,7 +1081,7 @@ void slapd_daemon( daemon_ports_t *ports )
 	if ( n_tcps != NULL ) {
 		PRFileDesc **fdesp;
 		PRNetAddr  **nap = ports->n_listenaddr;
-		for (fdesp = n_tcps; fdesp && *fdesp; fdesp++, nap++) {
+		for (fdesp = n_tcps; fdesp && *fdesp && nap && *nap; fdesp++, nap++) {
 			if ( PR_Listen( *fdesp, config_get_listen_backlog_size() ) == PR_FAILURE ) {
 				PRErrorCode prerr = PR_GetError();
 				char		addrbuf[ 256 ];
@@ -1779,6 +1779,7 @@ daemon_register_reslimits( void )
 			&idletimeout_reslimit_handle ));
 }
 
+#if 0 /* NOT USED */
 /*
  * Compute the idle timeout for the connection.
  *
@@ -1826,7 +1827,7 @@ compute_idletimeout( slapdFrontendConfig_t *fecfg, Connection *conn )
 
 	return( idletimeout );
 }
-
+#endif
 
 #ifdef _WIN32
 static void
@@ -1891,9 +1892,6 @@ handle_pr_read_ready(Connection_Table *ct, PRIntn num_poll)
 {
 	Connection *c;
 	time_t curtime = current_time();
-	slapdFrontendConfig_t *slapdFrontendConfig = getFrontendConfig();
-	int idletimeout;
-	int maxthreads = config_get_maxthreadsperconn();
 #if defined( XP_WIN32 )
 	int i;
 #endif
diff --git a/ldap/servers/slapd/valueset.c b/ldap/servers/slapd/valueset.c
index 960ad79..5c1ae36 100644
--- a/ldap/servers/slapd/valueset.c
+++ b/ldap/servers/slapd/valueset.c
@@ -1038,7 +1038,7 @@ slapi_valueset_add_attr_valuearray_ext(const Slapi_Attr *a, Slapi_ValueSet *vs,
 	int passin = flags & SLAPI_VALUE_FLAG_PASSIN;
 	int dupcheck = flags & SLAPI_VALUE_FLAG_DUPCHECK;
 
-	if (naddvals == 0) 
+	if (naddvals <= 0) 
 		return (rc);
 	
 	need = vs->num + naddvals + 1;
@@ -1072,6 +1072,11 @@ slapi_valueset_add_attr_valuearray_ext(const Slapi_Attr *a, Slapi_ValueSet *vs,
 		}
 		vs->max= allocate;
 	}
+	if (NULL == vs->va) {
+		LDAPDebug1Arg(LDAP_DEBUG_ANY, "slapi_valueset_add_attr_valuearray_ext: "
+		              "%s: valuearray is NULL\n", a->a_type);
+		return LDAP_OPERATIONS_ERROR;
+	}
 
 	if ( (vs->num + naddvals > VALUESET_ARRAY_SORT_THRESHOLD || dupcheck ) && 
 		!vs->sorted ) {




More information about the 389-commits mailing list