diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c index 5cb03c86aeaf502ed620afaa065d8ce31901064c..c6d126bcfa0ef4b82f5c023494791bc87eaf41df 100644 --- a/apps/app_voicemail.c +++ b/apps/app_voicemail.c @@ -4219,6 +4219,10 @@ static int forward_message(struct ast_channel *chan, char *context, struct vm_st } } } + + /* If anything failed above, we still have this list to free */ + while ((vmtmp = AST_LIST_REMOVE_HEAD(&extensions, list))) + free_user(vmtmp); return res ? res : cmd; }