From: Howard Chu Date: Mon, 25 Jun 2012 19:45:32 +0000 (-0700) Subject: ITS#7168 cleanup prev commit X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=73b631b8142d08a61d5caa7ac7b8f3bf27db030b;p=openldap ITS#7168 cleanup prev commit --- diff --git a/servers/slapd/overlays/constraint.c b/servers/slapd/overlays/constraint.c index 538d38307f..c3f9d66abf 100644 --- a/servers/slapd/overlays/constraint.c +++ b/servers/slapd/overlays/constraint.c @@ -181,7 +181,7 @@ constraint_cf_gen( ConfigArgs *c ) } if (cp->count || cp->size) { - int len = snprintf(val_buf, sizeof(val_buf), "%d", val); + int len = snprintf(val_buf, sizeof(val_buf), "%zd", val); if (len <= 0) { /* error */ return -1; @@ -846,40 +846,29 @@ constraint_check_count_violation( Modifications *m, Entry *target_entry, constra int j; for ( j = 0; cp->ap[j]; j++ ) { - ca = 0; - /* Get this attribute count */ if ( target_entry ) ce = constraint_count_attr( target_entry, cp->ap[j] ); for( ; m; m = m->sml_next ) { if ( cp->ap[j] == m->sml_desc ) { + ca = m->sml_numvals; switch ( m->sml_op ) { case LDAP_MOD_DELETE: - if (( b = m->sml_values ) == NULL || b[0].bv_val == NULL ) { + if ( !ca || ca > ce ) { ce = 0; - } - else { + } else { /* No need to check for values' validity. Invalid values * cause the whole transaction to die anyway. */ - for ( ca = 0; b[ca].bv_val; ++ca ); ce -= ca; } break; case LDAP_MOD_ADD: - if (( b = m->sml_values ) == NULL || b[0].bv_val == NULL ) - continue; - - for ( ca = 0; b[ca].bv_val; ++ca ); ce += ca; break; case LDAP_MOD_REPLACE: - if (( b = m->sml_values ) == NULL || b[0].bv_val == NULL ) - continue; - - for ( ca = 0; b[ca].bv_val; ++ca ); ce = ca; break;