]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/entry.c
complete this round of constification
[openldap] / servers / slapd / entry.c
index fd6fd49a5f6647816cd23f7c55314850b03053a5..849aece201a9fe8183010004612b3a3fe950908b 100644 (file)
@@ -21,7 +21,7 @@ static int            emaxsize;/* max size of ebuf                     */
 
 int entry_destroy(void)
 {
-       free( *ebuf );
+       free( ebuf );
        ebuf = NULL;
        ecur = NULL;
        emaxsize = 0;
@@ -99,14 +99,17 @@ str2entry( char *s )
                }
 
                if ( strcasecmp( type, "dn" ) == 0 ) {
+                       free( type );
+
                        if ( e->e_dn != NULL ) {
                                Debug( LDAP_DEBUG_ANY,
  "str2entry: entry %ld has multiple dns \"%s\" and \"%s\" (second ignored)\n",
                                    e->e_id, e->e_dn,
                                        value != NULL ? value : NULL );
+                               if( value != NULL ) free( value );
                                continue;
                        }
-                       e->e_dn = ch_strdup( value != NULL ? value : "" );
+                       e->e_dn = value != NULL ? value : ch_strdup( "" );
 
                        if ( e->e_ndn != NULL ) {
                                Debug( LDAP_DEBUG_ANY,
@@ -127,8 +130,13 @@ str2entry( char *s )
                        Debug( LDAP_DEBUG_TRACE,
                            "<= str2entry NULL (attr_merge)\n", 0, 0, 0 );
                        entry_free( e );
+                       free( value );
+                       free( type );
                        return( NULL );
                }
+
+               free( value );
+               free( type );
                nvals++;
        }