diff --git a/common/config/config_load_configmodule.c b/common/config/config_load_configmodule.c index 5d6fb5de1ffb445b614c9a7271287c60dfdb5ea8..411e737976dce06f095632bbd8ebb06e7c46f780 100644 --- a/common/config/config_load_configmodule.c +++ b/common/config/config_load_configmodule.c @@ -343,9 +343,20 @@ configmodule_interface_t *load_configmodule(int argc, atoken = strtok_r(NULL,":",&strtokctx); } - printf("[CONFIG] get parameters from %s ", cfgmode); for (i = 0; i < cfgptr->num_cfgP; i++) { - printf("%s ", cfgptr->cfgP[i]); + /* check if that file actually exists */ + if (access(cfgptr->cfgP[i], F_OK) != 0) { + fprintf(stderr, "error: file %s does not exist\n", cfgptr->cfgP[i]); + for (int j = 0; j < cfgptr->num_cfgP; ++j) + free(cfgptr->cfgP[j]); + free(modeparams); + free(cfgptr->cfgmode); + free(cfgptr->argv_info); + free(cfgptr); + if (cfgmode != NULL) + free(cfgmode); + return NULL; + } } if (cfgptr->rtflags & CONFIG_PRINTPARAMS) { diff --git a/common/config/libconfig/config_libconfig.c b/common/config/libconfig/config_libconfig.c index 64737e406733982e55c8968b555e2d21e68aea5b..a41a4dab336d56648cce638e9c0f9a65b40c962a 100644 --- a/common/config/libconfig/config_libconfig.c +++ b/common/config/libconfig/config_libconfig.c @@ -576,8 +576,10 @@ int config_libconfig_init(configmodule_interface_t *cfg) config_set_auto_convert (&(libconfig_privdata.cfg), CONFIG_TRUE); /* Read the file. If there is an error, report it and exit. */ if( config_read_file(&(libconfig_privdata.cfg), libconfig_privdata.configfile) == CONFIG_FALSE) { - fprintf(stderr,"[LIBCONFIG] %s %d file %s - line %d: %s\n",__FILE__, __LINE__, - libconfig_privdata.configfile, config_error_line(&(libconfig_privdata.cfg)), + fprintf(stderr, + "[LIBCONFIG] file %s - line %d: %s\n", + libconfig_privdata.configfile, + config_error_line(&(libconfig_privdata.cfg)), config_error_text(&(libconfig_privdata.cfg))); config_destroy(&(libconfig_privdata.cfg)); printf( "\n");