mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-17 07:18:15 +00:00
Issue 9527 - upon entering a folder, no message is selected (curmsg == -1), so deleting causes memory corruption (beyond bounds)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@63359 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -5443,6 +5443,7 @@ static int vm_execmain(struct ast_channel *chan, void *data)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case '7':
|
case '7':
|
||||||
|
if (vms.curmsg >= 0 && vms.curmsg <= vms.lastmsg) {
|
||||||
vms.deleted[vms.curmsg] = !vms.deleted[vms.curmsg];
|
vms.deleted[vms.curmsg] = !vms.deleted[vms.curmsg];
|
||||||
if (useadsi)
|
if (useadsi)
|
||||||
adsi_delete(chan, &vms);
|
adsi_delete(chan, &vms);
|
||||||
@@ -5458,6 +5459,8 @@ static int vm_execmain(struct ast_channel *chan, void *data)
|
|||||||
cmd = ast_play_and_wait(chan, "vm-nomore");
|
cmd = ast_play_and_wait(chan, "vm-nomore");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else /* Delete not valid if we haven't selected a message */
|
||||||
|
cmd = 0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case '8':
|
case '8':
|
||||||
|
|||||||
Reference in New Issue
Block a user