[asterisk-bugs] [JIRA] Issue Comment Edited: (ASTERISK-20435) app_voicemail deletes the wrong greeting if both an unavailable and a temporary greeting is available and imap greetings are used

Michael L. Young (JIRA) noreply at issues.asterisk.org
Tue Sep 18 14:19:27 CDT 2012


    [ https://issues.asterisk.org/jira/browse/ASTERISK-20435?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=197242#comment-197242 ] 

Michael L. Young edited comment on ASTERISK-20435 at 9/18/12 2:18 PM:
----------------------------------------------------------------------

Yes, I saw the problem with using msgnum as an index.  I was looking at this briefly and added my comments to correct the comments from the reporter that -1 was being used to indicate delete last message.

I can see how vms->curmsg can/should be used, but to keep in line with what is currently being done in the code shouldn't imap_delete_old_greeting be used?

vm_imap_delete is called and if msgnum is -1, we call imap_delete_old_greeting and return.  If msgnum is not -1, we handle the deletion of the file as normal.

      was (Author: elguero):
    Yes, I saw the problem with using msgnum as an index.  I was looking at this briefly and added my comments to correct the comments from the reporter -1 was being used to indicate delete last message.

I can see how vms->curmsg can/should be used but to keep in line with what is currently being done in the code, shouldn't imap_delete_old_greeting be used?

vm_imap_delete is called and if msgnum is -1, we call imap_delete_old_greeting and return.  If msgnum is not -1, we handle the deletion of the file as normal.
  
> app_voicemail deletes the wrong greeting if both an unavailable and a temporary greeting is available and imap greetings are used
> ---------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: ASTERISK-20435
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-20435
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Applications/app_voicemail/IMAP
>    Affects Versions: 1.8.16.0
>            Reporter: fhackenberger
>         Attachments: msgnum_negative.patch
>
>
> Set up voicemail with imap and imapgreetings=yes in voicemail.conf
> Dial into VoiceMailMain and do the following:
> * Record an unavail greeting
> * Hangup
> * Record a temp greeting
> * Hangup
> * Delete a temp greeting (BUG: it deletes the unavailable greeting)
> The bug seems to be that vm_imap_delete uses the msgnum parameter as an index into vms->msgArray even if it is negative, which is certainly wrong. I assume (talked to mjordan on IRC) that passing - 1 as the msgnum indicates that the current message should be deleted (vms->curmsg). The attached patch fixes that. It issue is present in 1.6 (where I debugged the issue) as well as the current 1.8 branch.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira



More information about the asterisk-bugs mailing list