]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/main.c
ITS#6437, move structs slab_object and slab_heap from slap.h to sl_malloc.c
[openldap] / servers / slapd / main.c
index 0cb0de16606e73a787e6f3ecac77ca3b8fc36c88..1d4f2aa427e7e0c0e99cec77ddb720a685bef701 100644 (file)
@@ -1,7 +1,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1998-2010 The OpenLDAP Foundation.
+ * Copyright 1998-2011 The OpenLDAP Foundation.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -443,13 +443,13 @@ int main( int argc, char **argv )
 
                newConfigFile = (char*)lutil_getRegParam( regService, "ConfigFile" );
                if ( newConfigFile != NULL ) {
-                       configfile = newConfigFile;
+                       configfile = ch_strdup(newConfigFile);
                        Debug ( LDAP_DEBUG_ANY, "new config file from registry is: %s\n", configfile, 0, 0 );
                }
 
                newConfigDir = (char*)lutil_getRegParam( regService, "ConfigDir" );
                if ( newConfigDir != NULL ) {
-                       configdir = newConfigDir;
+                       configdir = ch_strdup(newConfigDir);
                        Debug ( LDAP_DEBUG_ANY, "new config dir from registry is: %s\n", configdir, 0, 0 );
                }
        }
@@ -682,6 +682,9 @@ unhandled_option:;
                }
        }
 
+       if ( optind != argc )
+               goto unhandled_option;
+
        ber_set_option(NULL, LBER_OPT_DEBUG_LEVEL, &slap_debug);
        ldap_set_option(NULL, LDAP_OPT_DEBUG_LEVEL, &slap_debug);
        ldif_debug = slap_debug;