]> git.sur5r.net Git - openldap/commitdiff
Don't call idl_free() unless necessary.
authorKurt Zeilenga <kurt@openldap.org>
Fri, 5 Feb 1999 23:44:32 +0000 (23:44 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Fri, 5 Feb 1999 23:44:32 +0000 (23:44 +0000)
servers/slapd/back-ldbm/index.c

index b87bf51c2eeafba5531ba8c09c370ea7dec1c33e..45a8a7eb1c16656acab030751aa8cdd649276d4e 100644 (file)
@@ -166,19 +166,20 @@ add_value(
 {
        int     rc;
        Datum   key;
-       ID_BLOCK        *idl;
-       char    prefix;
-       char    *realval, *tmpval, *s;
+       ID_BLOCK        *idl = NULL;
+       char    *tmpval = NULL;
+       char    *realval = val;
        char    buf[BUFSIZ];
 
+       char    prefix = index2prefix( indextype );
+
        ldbm_datum_init( key );
 
-       prefix = index2prefix( indextype );
        Debug( LDAP_DEBUG_TRACE, "=> add_value( \"%c%s\" )\n", prefix, val, 0 );
 
        realval = val;
        tmpval = NULL;
-       idl = NULL;
+
        if ( prefix != UNKNOWN_PREFIX ) {
               unsigned int     len = strlen( val );
 
@@ -201,7 +202,10 @@ add_value(
        if ( tmpval != NULL ) {
                free( tmpval );
        }
-       idl_free( idl );
+
+       if( idl != NULL ) {
+               idl_free( idl );
+       }
 
        ldap_pvt_thread_yield();