diff --git a/src/main.c b/src/main.c index 9ccc40bc539ddf90f1a1d07bb9c0f8d1a506c52b..aeb685987caa9db6fb4328ff52a8b208297952e6 100644 --- a/src/main.c +++ b/src/main.c @@ -117,7 +117,6 @@ static int stunc_get_auth_code(char *data, int data_len, const char *key, char * static int stunc_init(void) { int len; - char address[256] = {0}; char *val; stunc_uci_init(); @@ -129,7 +128,11 @@ static int stunc_init(void) val = stunc_uci_get_value("stunc", "stunc", "server_address"); if (STRLEN(val) == 0) { + char address[256] = {0}; + SLOG(INFO, "Server Address not present in the STUN config"); + FREE(val); + /* Read from ACS address */ get_acs_address(&val); if (val == NULL) @@ -166,13 +169,12 @@ get_addr: snprintf(address, len + 1, "%s", val); free(tmp); - - val = address; + conf.server_address = strdup(address); + } else { + conf.server_address = strdup(val); + FREE(val); } - conf.server_address = strdup(val); - FREE(val); - val = stunc_uci_get_value("stunc", "stunc", "username"); if (STRLEN(val)) conf.username = strdup(val); @@ -273,9 +275,9 @@ static int stunc_start(void) static int stunc_finish(void) { - free(conf.server_address); - free(conf.password); - free(conf.username); + FREE(conf.server_address); + FREE(conf.password); + FREE(conf.username); conf.server_address = NULL; conf.username = NULL; conf.password = NULL;