[asterisk-bugs] [JIRA] (ASTERISK-23739) [patch]Segfault forwarding voicemail with ODBC storage enabled and realtime voicemail_data is used
Rusty Newton (JIRA)
noreply at issues.asterisk.org
Wed Jun 25 08:52:00 CDT 2014
[ https://issues.asterisk.org/jira/browse/ASTERISK-23739?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=219840#comment-219840 ]
Rusty Newton commented on ASTERISK-23739:
-----------------------------------------
[~stas.kobzar] After you get your patch reworked, go ahead and follow the [Code Review|https://wiki.asterisk.org/wiki/display/AST/Code+Review] wiki page, check it against the coding guidelines and get the patch on reviewboard.
> [patch]Segfault forwarding voicemail with ODBC storage enabled and realtime voicemail_data is used
> --------------------------------------------------------------------------------------------------
>
> Key: ASTERISK-23739
> URL: https://issues.asterisk.org/jira/browse/ASTERISK-23739
> Project: Asterisk
> Issue Type: Bug
> Security Level: None
> Components: Applications/app_voicemail, Applications/app_voicemail/ODBC
> Affects Versions: 11.9.0
> Reporter: Stas Kobzar
> Assignee: Michael L. Young
> Severity: Minor
> Attachments: asterisk_10.patch, asterisk_11.patch, asterisk_12.patch, asterisk_1.8.patch, backtrace-issue-23739.txt, full-issue-23739, valgrind-issue-23739.txt
>
>
> Hello,
> Asterisk is crashing with with segfaul on VoiceMail application when using option 8 (forward message to another voicemail box). This happens when Asterisk is compiled with voicemail ODBC storage and voicemail_data realtime is enabled in extconfig.conf.
> To reproduce:
> - Asterisk configured with voicemail storage ODBC
> - realtime voicemail_data family enabled
> - Call to Voicemail and use option 8 to forward new voicemail. When prompted forward options press "2". Asterisk will crash with segfault.
> This is happens because in function _copy_plain_file_ Asterisk is trying to load a voicemail message from realtime voicemail_data family:
> {code}
> if (ast_check_realtime("voicemail_data")) {
> var = ast_load_realtime("voicemail_data", "filename", frompath, SENTINEL);
> for (tmp = var; tmp; tmp = tmp->next) {
> if (!strcasecmp(tmp->name, "origmailbox")) {
> origmailbox = tmp->value;
> }
> ...
> {code}
> If the record does not exists, following assignment will crash Asterisk:
> {code}origmailbox = tmp->value;{code}
> Patch attached.
> Thank you,
> Stas Kobzar
--
This message was sent by Atlassian JIRA
(v6.2#6252)
More information about the asterisk-bugs
mailing list