[asterisk-bugs] [JIRA] (ASTERISK-21302) [patch] app_voicemail crashes on config error and there are some potential memory leaks

Jaco Kroon (JIRA) noreply at issues.asterisk.org
Wed Apr 3 17:21:01 CDT 2013


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

Jaco Kroon commented on ASTERISK-21302:
---------------------------------------

Overlooked your updated patch.  Apologies for that.

But no, it does not.  If you look at the block you'll note that it loads two separate config files, there is an explicit fall-through between the case's in the switch, each individually loading a different config.  My patch does cover that completely (I think), your patch misses the case where the latter config load overwrites the pointer as created by the first load.

I completely agree that it's better to add it in one place if possible.

Another option is to add the same kind of if statement just prior to the second load (or at the end of the initial case just prior to the fall-through).

Another idea is to use two separate pointer variables and then have two if statements at the bottom.
                
> [patch] app_voicemail crashes on config error and there are some potential memory leaks
> ---------------------------------------------------------------------------------------
>
>                 Key: ASTERISK-21302
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-21302
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Applications/app_voicemail
>    Affects Versions: 11.2.1
>         Environment: Linux
>            Reporter: Jaco Kroon
>            Assignee: Michael L. Young
>         Attachments: asterisk-11.3.0-app_voicemail-ast_config-fixes.patch, asterisk-11.3.0-app_voicemail-ast_config-fixes.patch, asterisk-21302-valid_cfg_and_mem_leaks.diff
>
>
> #0  ast_config_destroy (cfg=0xfffffffffffffffe) at config.c:1128
> #1  0x00007fbcac12a4d8 in store_file (dir=<optimized out>, mailboxuser=<optimized out>, mailboxcontext=<optimized out>, msgnum=<optimized out>) at app_voicemail.c:4153
> #2  0x00007fbcac13f1dc in leave_voicemail (chan=0x7fbca49801f8, ext=<optimized out>, options=<optimized out>) at app_voicemail.c:6689
> #3  0x00007fbcac140680 in vm_exec (chan=0x7fbca49801f8, data=<optimized out>) at app_voicemail.c:11568
> #4  0x00000000005269a4 in pbx_exec (c=0x7fbca49801f8, app=0x7fbcb4e767e0, data=0x7fbc7e28d5ac "sdgtech,su") at pbx.c:1589
> #5  0x00007fbcadb95f22 in execif_exec (chan=0x7fbca49801f8, data=<optimized out>) at app_exec.c:273
> #6  0x00000000005269a4 in pbx_exec (c=0x7fbca49801f8, app=0x7fbca41e0570, data=0x7fbc7e28f750 "1?VoiceMail(sdgtech,su)") at pbx.c:1589
> #7  0x00000000005308ec in pbx_extension_helper (c=0x7fbca49801f8, con=0x0, context=<optimized out>, exten=0x7fbca4981098 "0100031015", priority=68, label=<optimized out>, callerid=0x7fbca4fd7500 "0116081375", action=E_SPAWN, found=0x7fbc7e291de0, combined_find_spawn=1) at pbx.c:4665
> #8  0x0000000000535e28 in ast_spawn_extension (found=0x7fbc7e291dd0, callerid=0x7fbca4fd7500 "0116081375", priority=68, exten=0x7fbca4981098 "0100031015", context=<optimized out>, c=0x7fbca49801f8, combined_find_spawn=<optimized out>) at pbx.c:5781
> #9  __ast_pbx_run (c=0x7fbca49801f8, args=0x0) at pbx.c:6256
> #10 0x00000000005376cb in pbx_thread (data=<optimized out>) at pbx.c:6586
> #11 0x000000000057919b in dummy_start (data=<optimized out>) at utils.c:1028
> #12 0x00007fbcb9845d0c in start_thread (arg=0x7fbc7e292700) at pthread_create.c:301
> #13 0x00007fbcbadd3bed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
> The code dealing with this is so horrible I don't even want to think about how to generate a patch.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.asterisk.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



More information about the asterisk-bugs mailing list