]> git.sur5r.net Git - openldap/commitdiff
Plug a leak reported by Jorg Pietschmann <pietsch@swissline.ch>
authorKurt Zeilenga <kurt@openldap.org>
Fri, 4 Dec 1998 02:20:39 +0000 (02:20 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Fri, 4 Dec 1998 02:20:39 +0000 (02:20 +0000)
Still leaks ber_scanf results here and there...

servers/slapd/add.c

index 60ae1cf93d8f98f04071b9ba98cd550e16ffea15..0f497a0d73767a709692c7fba0849d3947c2e1e2 100644 (file)
@@ -45,10 +45,6 @@ do_add( Connection *conn, Operation *op )
         *      }
         */
 
-       e = (Entry *) ch_calloc( 1, sizeof(Entry) );
-       /* initialize reader/writer lock */
-       entry_rdwr_init(e);
-
        /* get the name */
        if ( ber_scanf( ber, "{a", &dn ) == LBER_ERROR ) {
                Debug( LDAP_DEBUG_ANY, "ber_scanf failed\n", 0, 0, 0 );
@@ -56,6 +52,11 @@ do_add( Connection *conn, Operation *op )
                    "decoding error" );
                return;
        }
+
+       e = (Entry *) ch_calloc( 1, sizeof(Entry) );
+       /* initialize reader/writer lock */
+       entry_rdwr_init(e);
+
        e->e_dn = dn;
        dn = dn_normalize( ch_strdup( dn ) );
        Debug( LDAP_DEBUG_ARGS, "    do_add: dn (%s)\n", dn, 0, 0 );