]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-ldbm/dn2id.c
Change overlapping `strcpy( x, y )' to `SAFEMEMCPY( x, y, strlen( y ) + 1 )'
[openldap] / servers / slapd / back-ldbm / dn2id.c
index 593107cc2cc69bd13334b738c5209add6393c592..b5ca2a4c7c0d84d61996629d46e5e45c86f1b2bd 100644 (file)
@@ -37,7 +37,7 @@ dn2id_add(
                return( -1 );
        }
 
-       dn = strdup( dn );
+       dn = ch_strdup( dn );
        dn_normalize_case( dn );
 
        key.dptr = dn;
@@ -73,7 +73,7 @@ dn2id(
        memset( &data, 0, sizeof( data ) );
 #endif
 
-       dn = strdup( dn );
+       dn = ch_strdup( dn );
        Debug( LDAP_DEBUG_TRACE, "=> dn2id( \"%s\" )\n", dn, 0, 0 );
        dn_normalize_case( dn );
 
@@ -166,18 +166,19 @@ dn2entry(
 {
        struct ldbminfo *li = (struct ldbminfo *) be->be_private;
        ID              id;
-       Entry           *e;
+       Entry           *e = NULL;
        char            *pdn;
 
        Debug(LDAP_DEBUG_TRACE, "dn2entry_%s: dn: %s\n",
                rw ? "w" : "r", dn, 0);
 
+       *matched = NULL;
+
        if ( (id = dn2id( be, dn )) != NOID &&
                (e = id2entry( be, id, rw )) != NULL )
        {
                return( e );
        }
-       *matched = NULL;
 
        /* stop when we get to the suffix */
        if ( be_issuffix( be, dn ) ) {
@@ -199,19 +200,6 @@ dn2entry(
        return( NULL );
 }
 
-#if 0
-               if (e->e_state == ENTRY_STATE_DELETED)
-                       continue;
-
-               if (strcmp(dn, e->e_dn) != 0)
-                       continue;
-
-               /* return locked entry entry */
-               return(e);
-       }
-}
-#endif
-
 Entry *
 dn2entry_r(
        Backend *be,