From: Andrey Volk Date: Mon, 5 Apr 2021 20:23:37 +0000 (+0300) Subject: [Core] Fix a false-positive memory leak detected by scan-build in switch_channel_set_... X-Git-Tag: v1.10.7^2~226 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b9fdf00f6f464c6c76b8739ccbf1d18f10409199;p=thirdparty%2Ffreeswitch.git [Core] Fix a false-positive memory leak detected by scan-build in switch_channel_set_variable_strip_quotes_var_check() --- diff --git a/src/switch_channel.c b/src/switch_channel.c index 9ce2fdc52e..8aa36aec88 100644 --- a/src/switch_channel.c +++ b/src/switch_channel.c @@ -1511,11 +1511,12 @@ SWITCH_DECLARE(switch_status_t) switch_channel_set_variable_strip_quotes_var_che int ok = 1; char *t = (char *)value; char *r = (char *)value; + char *tmp = NULL; if (t && *t == '"') { t++; if (end_of(t) == '"') { - r = strdup(t); + r = tmp = strdup(t); switch_assert(r); end_of(r) = '\0'; } @@ -1530,7 +1531,7 @@ SWITCH_DECLARE(switch_status_t) switch_channel_set_variable_strip_quotes_var_che switch_log_printf(SWITCH_CHANNEL_CHANNEL_LOG(channel), SWITCH_LOG_CRIT, "Invalid data (${%s} contains a variable)\n", varname); } - if (r != value) free(r); + switch_safe_free(tmp); } status = SWITCH_STATUS_SUCCESS; }