mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-22 21:36:28 +00:00
app_voicemail: Fix memory management issues.
* mwi_sub_event_cb: mwist leaked on separate_mailbox failure. * add_email_attachment: A reference to sox_gain_tmpdir was used after the storage was out of scope. Change-Id: I6282c542ff7b82fa091177a912d11234a8b00a30
This commit is contained in:
@@ -5390,6 +5390,7 @@ plain_message:
|
|||||||
static int add_email_attachment(FILE *p, struct ast_vm_user *vmu, char *format, char *attach, char *greeting_attachment, char *mailbox, char *bound, char *filename, int last, int msgnum)
|
static int add_email_attachment(FILE *p, struct ast_vm_user *vmu, char *format, char *attach, char *greeting_attachment, char *mailbox, char *bound, char *filename, int last, int msgnum)
|
||||||
{
|
{
|
||||||
char fname[PATH_MAX] = "";
|
char fname[PATH_MAX] = "";
|
||||||
|
char sox_gain_tmpdir[PATH_MAX];
|
||||||
char *file_to_delete = NULL, *dir_to_delete = NULL;
|
char *file_to_delete = NULL, *dir_to_delete = NULL;
|
||||||
int res;
|
int res;
|
||||||
|
|
||||||
@@ -5399,7 +5400,6 @@ static int add_email_attachment(FILE *p, struct ast_vm_user *vmu, char *format,
|
|||||||
/* This 'while' loop will only execute once. We use it so that we can 'break' */
|
/* This 'while' loop will only execute once. We use it so that we can 'break' */
|
||||||
while (vmu->volgain < -.001 || vmu->volgain > .001) {
|
while (vmu->volgain < -.001 || vmu->volgain > .001) {
|
||||||
char tmpdir[PATH_MAX];
|
char tmpdir[PATH_MAX];
|
||||||
char sox_gain_tmpdir[PATH_MAX];
|
|
||||||
|
|
||||||
create_dirpath(tmpdir, sizeof(tmpdir), vmu->context, vmu->mailbox, "tmp");
|
create_dirpath(tmpdir, sizeof(tmpdir), vmu->context, vmu->mailbox, "tmp");
|
||||||
|
|
||||||
@@ -13167,6 +13167,7 @@ static void mwi_sub_event_cb(struct stasis_subscription_change *change)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (separate_mailbox(ast_strdupa(stasis_topic_name(change->topic)), &mailbox, &context)) {
|
if (separate_mailbox(ast_strdupa(stasis_topic_name(change->topic)), &mailbox, &context)) {
|
||||||
|
ast_free(mwist);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user