If cfg_* accessor calls were made before cfg_read() was called (or it
returned error), they could cause segfault. This checkin terminates the
cfg structure in such a way that will prevent these run-time problems.
Bug #1693
#define CC_FILE_NAME CC_ALNUM "._-"
#define CC_KEY CC_ALNUM "._-@$:+"
+void
+cfg_init(void)
+{
+ svec_terminate(&cfg);
+}
+
/* Sets 'file_name' as the configuration file read by cfg_read(). Returns 0 on
* success, otherwise a positive errno value if 'file_name' cannot be opened.
*
file = fopen(cfg_name, "r");
if (!file) {
VLOG_ERR("failed to open \"%s\": %s", cfg_name, strerror(errno));
+ svec_terminate(&cfg);
return errno;
}
struct svec;
struct ofpbuf;
+void cfg_init(void);
int cfg_set_file(const char *file_name);
int cfg_read(void);
int cfg_lock(uint8_t *cookie, int timeout);