diff --git a/servers/slapd/back-ldbm/config.c b/servers/slapd/back-ldbm/config.c index 44a38c7bac628801cfc177ff3ab74cb0a2986d8f..ad3053e36cd588e3f71dd27f5e17a541eb7a7f0d 100644 --- a/servers/slapd/back-ldbm/config.c +++ b/servers/slapd/back-ldbm/config.c @@ -35,6 +35,8 @@ ldbm_back_db_config( fname, lineno ); return( 1 ); } + if ( li->li_directory ) + free( li->li_directory ); li->li_directory = ch_strdup( argv[1] ); li->li_nextid_file = diff --git a/servers/slapd/back-ldbm/init.c b/servers/slapd/back-ldbm/init.c index 8c46a6510dcddc76fe39f575c8b0ab577c19387e..b3c2845fa9ca63cb7319554137fcf2fd5e6106b1 100644 --- a/servers/slapd/back-ldbm/init.c +++ b/servers/slapd/back-ldbm/init.c @@ -106,7 +106,7 @@ ldbm_back_db_init( li->li_mode = DEFAULT_MODE; /* default database directory */ - li->li_directory = DEFAULT_DB_DIRECTORY; + li->li_directory = ch_strdup( DEFAULT_DB_DIRECTORY ); /* always index dn, id2children, objectclass (used in some searches) */ argv[ 0 ] = "dn";