]> git.sur5r.net Git - openldap/commitdiff
#ifndef SLAP_NVALUES asserted berval was leaked
authorHoward Chu <hyc@openldap.org>
Wed, 12 Mar 2003 13:05:19 +0000 (13:05 +0000)
committerHoward Chu <hyc@openldap.org>
Wed, 12 Mar 2003 13:05:19 +0000 (13:05 +0000)
servers/slapd/mods.c

index 946aa1b2a7eecc87539c45e21cff336d5d460c2f..73aac72e39a97d8280c08299878b2ff76f8c0149 100644 (file)
@@ -416,10 +416,9 @@ modify_add_values(
 
                if ( mod->sm_bvalues[1].bv_val == 0 ) {
                        if ( a != NULL ) {
-                               struct berval   asserted;
                                int             i;
-
 #ifndef SLAP_NVALUES
+                               struct berval   asserted;
                                rc = value_normalize( mod->sm_desc, SLAP_MR_EQUALITY,
                                        &mod->sm_bvalues[ 0 ], &asserted, text );
                                if ( rc != LDAP_SUCCESS ) {
@@ -463,7 +462,9 @@ modify_add_values(
                                                        matched++;
                                                        continue;
                                                }
+#ifndef SLAP_NVALUES
                                                free( asserted.bv_val );
+#endif
                                                *text = textbuf;
                                                snprintf( textbuf, textlen,
                                                        "modify/%s: %s: value #0 already exists",
@@ -471,6 +472,9 @@ modify_add_values(
                                                return LDAP_TYPE_OR_VALUE_EXISTS;
                                        }
                                }
+#ifndef SLAP_NVALUES
+                               free( asserted.bv_val );
+#endif
                                if ( permissive && matched == i ) {
                                        /* values already exist; do nothing */
                                        return LDAP_SUCCESS;