From: Maximilian Fridrich Date: Mon, 21 Aug 2023 16:28:42 +0000 (+0200) Subject: main/refer.c: Fix double free in refer_data_destructor + potential leak X-Git-Tag: 20.5.0-rc1~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b2cd0583c9b664952120328f3bff110ac04f7ef8;p=thirdparty%2Fasterisk.git main/refer.c: Fix double free in refer_data_destructor + potential leak Resolves: #267 (cherry picked from commit fcdffe0074a07c8b296801908c66118feeff0116) --- diff --git a/main/refer.c b/main/refer.c index 11db0652fc..2a4a115924 100644 --- a/main/refer.c +++ b/main/refer.c @@ -109,7 +109,6 @@ static void refer_data_destructor(void *obj) { struct refer_data *data = obj; ast_free(data->value); - ast_free(data); } static void refer_destructor(void *obj) @@ -298,6 +297,7 @@ static int refer_set_var_full(struct ast_refer *refer, const char *name, const c if (ast_strlen_zero(value)) { ao2_unlink(refer->vars, data); } else { + ast_free(data->value); data->value = ast_strdup(value); } }