From: Tilghman Lesher Date: Sat, 3 Mar 2007 06:36:55 +0000 (+0000) Subject: Memory leak of a list, if call recording was abandoned X-Git-Tag: 1.2.17~21 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=12a38f8e5647e1e77d718234a01ee28833c21b5e;p=thirdparty%2Fasterisk.git Memory leak of a list, if call recording was abandoned git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@57648 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c index 993e4df137..98bb8b96e3 100644 --- a/apps/app_voicemail.c +++ b/apps/app_voicemail.c @@ -3626,6 +3626,7 @@ static int forward_message(struct ast_channel *chan, char *context, char *dir, i vmtmp = vmtmp->next; free_user(vmfree); } + extensions = NULL; if (saved_messages > 0) { /* give confirmation that the message was saved */ /* commented out since we can't forward batches yet @@ -3639,6 +3640,13 @@ static int forward_message(struct ast_channel *chan, char *context, char *dir, i } } } + + /* If anything failed above, we still have this list to free */ + while (extensions) { + vmfree = extensions; + extensions = extensions->next; + free_user(vmfree); + } return res ? res : cmd; }