[389-commits] ldap/servers

Mark Reynolds mreynolds at fedoraproject.org
Mon Aug 6 15:44:15 UTC 2012


 ldap/servers/plugins/memberof/memberof.c |   29 +++++++++++++++++++++--------
 ldap/servers/slapd/util.c                |   14 +++++---------
 2 files changed, 26 insertions(+), 17 deletions(-)

New commits:
commit 52e15071bc98cc66edc47838d986c9803e1479bf
Author: Mark Reynolds <mreynolds at redhat.com>
Date:   Fri Aug 3 15:02:46 2012 -0400

    Misc Coverity Fixes
    
    Reviewed by: richm(Thanks Rich!)

diff --git a/ldap/servers/plugins/memberof/memberof.c b/ldap/servers/plugins/memberof/memberof.c
index a69dd16..2ca4d2f 100644
--- a/ldap/servers/plugins/memberof/memberof.c
+++ b/ldap/servers/plugins/memberof/memberof.c
@@ -1113,17 +1113,29 @@ memberof_modop_one_replace_r(Slapi_PBlock *pb, MemberOfConfig *config,
 	Slapi_Entry *e = 0; 
 	memberofstringll *ll = 0;
 	char *op_str = 0;
-	const char *op_to = slapi_sdn_get_ndn(op_to_sdn);
-	const char *op_this = slapi_sdn_get_ndn(op_this_sdn);
-	Slapi_Value *to_dn_val = slapi_value_new_string(op_to);
-	Slapi_Value *this_dn_val = slapi_value_new_string(op_this);
+	const char *op_to;
+	const char *op_this;
+	Slapi_Value *to_dn_val;
+	Slapi_Value *this_dn_val;
+
+	op_to = slapi_sdn_get_ndn(op_to_sdn);
+	op_this = slapi_sdn_get_ndn(op_this_sdn);
+	to_dn_val = slapi_value_new_string(op_to);
+	this_dn_val = slapi_value_new_string(op_this);
+
+	if(this_dn_val == NULL || to_dn_val == NULL){
+		slapi_log_error( SLAPI_LOG_FATAL, MEMBEROF_PLUGIN_SUBSYSTEM,
+			"memberof_modop_one_replace_r: failed to get DN values (NULL)\n");
+		goto bail;
+	}
+
 	/* op_this and op_to are both case-normalized */
 	slapi_value_set_flags(this_dn_val, SLAPI_ATTR_FLAG_NORMALIZED_CIS);
 	slapi_value_set_flags(to_dn_val, SLAPI_ATTR_FLAG_NORMALIZED_CIS);
 
 	if (config == NULL) {
 		slapi_log_error( SLAPI_LOG_FATAL, MEMBEROF_PLUGIN_SUBSYSTEM,
-				"memberof_modop_one_replace_r: NULL config parameter");
+				"memberof_modop_one_replace_r: NULL config parameter\n");
 		goto bail;
 	}
 
@@ -1184,8 +1196,7 @@ memberof_modop_one_replace_r(Slapi_PBlock *pb, MemberOfConfig *config,
 						int res = 0;
 						slapi_pblock_get(search_pb, SLAPI_PLUGIN_INTOP_RESULT, &res);
 						slapi_log_error( SLAPI_LOG_FATAL, MEMBEROF_PLUGIN_SUBSYSTEM,
-						"memberof_modop_one_replace_r: error searching for members: "
-						"%d", res);
+						"memberof_modop_one_replace_r: error searching for members: %d\n", res);
 					} else {
 						slapi_pblock_get(search_pb, SLAPI_NENTRIES, &n_entries);
 						if(n_entries > 0)
@@ -1885,8 +1896,10 @@ int memberof_test_membership_callback(Slapi_Entry *e, void *callback_data)
 
 	entry_sdn = slapi_entry_get_sdn(e);
 	entry_dn = slapi_value_new_string(slapi_entry_get_ndn(e));
+	if(entry_dn == NULL){
+		goto bail;
+	}
 	slapi_value_set_flags(entry_dn, SLAPI_ATTR_FLAG_NORMALIZED_CIS);
-
 	if(0 == entry_dn)
 	{
 		goto bail;
diff --git a/ldap/servers/slapd/util.c b/ldap/servers/slapd/util.c
index c3f3593..fc399e7 100644
--- a/ldap/servers/slapd/util.c
+++ b/ldap/servers/slapd/util.c
@@ -258,7 +258,6 @@ filter_stuff_func(void *arg, const char *val, PRUint32 slen)
     char *buf = (char *)val;
     int extra_space;
     int filter_len = slen;
-    int free_buf = 0;
 
     /* look at val - if val is one of our special keywords, and make a note of it for the next pass */
     if (strcmp(val, ESC_NEXT_VAL) == 0){
@@ -342,7 +341,6 @@ filter_stuff_func(void *arg, const char *val, PRUint32 slen)
             }
 #else
             buf = slapi_ch_calloc(sizeof(char), filter_len*3 + 1);
-            free_buf = 1;
             if(do_escape_string(val, filter_len, buf, special_filter) == NULL){
                 LDAPDebug(LDAP_DEBUG_TRACE, "slapi_filter_sprintf: failed to escape filter value(%s)\n",val,0,0);
                 ctx->next_arg_needs_esc_norm = 0;
@@ -360,7 +358,7 @@ filter_stuff_func(void *arg, const char *val, PRUint32 slen)
         if (ctx->buf_size + filter_len >= ctx->buf_len){
             /* increase buffer for this filter */
             extra_space = (ctx->buf_len + filter_len + BUF_INCR);
-            slapi_ch_realloc(ctx->buf, sizeof(char) * extra_space);
+            ctx->buf = slapi_ch_realloc(ctx->buf, sizeof(char) * extra_space);
             ctx->buf_len = extra_space;
         }
 
@@ -373,9 +371,7 @@ filter_stuff_func(void *arg, const char *val, PRUint32 slen)
         ctx->attr_found = 0;
         ctx->attr_position = 0;
         memset(ctx->attr, '\0', ATTRSIZE);
-        if(free_buf){
-            slapi_ch_free_string(&buf);
-        }
+        slapi_ch_free_string(&buf);
 
         return filter_len;
     } else { /* process arg as is */
@@ -446,7 +442,7 @@ slapi_filter_sprintf(const char *fmt, ...)
 char*
 slapi_escape_filter_value(char* filter_str, int len)
 {
-    struct berval *escaped_filter = NULL;
+    struct berval escaped_filter;
     struct berval raw_filter;
     int filter_len;
 
@@ -469,11 +465,11 @@ slapi_escape_filter_value(char* filter_str, int len)
      */
     raw_filter.bv_val = filter_str;
     raw_filter.bv_len = filter_len;
-    if(ldap_bv2escaped_filter_value(&raw_filter, escaped_filter) != 0){
+    if(ldap_bv2escaped_filter_value(&raw_filter, &escaped_filter) != 0){
         LDAPDebug(LDAP_DEBUG_TRACE, "slapi_escape_filter_value: failed to escape filter value(%s)\n",filter_str,0,0);
         return NULL;
     } else {
-        return slapi_ch_strdup(escaped_filter->bv_val);
+        return escaped_filter.bv_val;
     }
 #else
     char *buf = slapi_ch_calloc(sizeof(char), filter_len*3+1);




More information about the 389-commits mailing list