[asterisk-bugs] [JIRA] (ASTERISK-23739) [patch]Segfault forwarding voicemail with ODBC storage enabled and realtime voicemail_data is used
Asterisk Team (JIRA)
noreply at issues.asterisk.org
Thu Jan 23 11:13:27 CST 2020
[ https://issues.asterisk.org/jira/browse/ASTERISK-23739?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Asterisk Team updated ASTERISK-23739:
-------------------------------------
Target Release Version/s: 17.2.0
> [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, 13.18.4
> Reporter: Stas Kobzar
> Severity: Minor
> Labels: patch
> Target Release: 13.31.0, 16.8.0, 17.2.0
>
> 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