From 741ef6aa2f07e77bb4e5d12f3c3bc6cad8d04a61 Mon Sep 17 00:00:00 2001 From: Suvendhu Hansa <suvendhu.hansa@iopsys.eu> Date: Wed, 25 Sep 2024 10:13:53 +0000 Subject: [PATCH] Fix segfault --- src/main.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/main.c b/src/main.c index 9ccc40b..aeb6859 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; -- GitLab