Summary: | ASTERISK-16358: Manager GetVar on unset variable causes segfault | ||
Reporter: | Ben Klang (bklang) | Labels: | |
Date Opened: | 2010-07-13 13:02:47 | Date Closed: | 2010-07-16 13:14:56 |
Priority: | Critical | Regression? | No |
Status: | Closed/Complete | Components: | Core/ManagerInterface |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ||
Description: | This appears to be the same type of bug as reported by me previously. GetVar on a channel variable that is not set causes a vsnprintf() with a null argument in a string field. On OpenSolaris, this causes a segfault. (gdb) bt #0 0xce8a47a0 in countbytes () from /usr/lib/libc.so.1 #1 0xce8f0793 in _ndoprnt () from /usr/lib/libc.so.1 #2 0xce8f31bd in vsnprintf () from /usr/lib/libc.so.1 #3 0x0813639d in __ast_str_helper (buf=0xca74d13c, max_len=0, append=0, fmt=0x817897c "Variable: %s\r\nValue: %s\r\n\r\n", ap=0xca74d15c "Z####) at strings.c:72 #4 0x080eab0c in astman_append (s=0xca74df64, fmt=0x817897c "Variable: %s\r\nValue: %s\r\n\r\n") at strings.h:767 ASTERISK-1 0x080ed302 in action_getvar (s=0xca74df64, m=0xca74dd24) at manager.c:1925 ASTERISK-2 0x080f0be6 in process_message (s=0xca74df64, m=0xca74dd24) at manager.c:3069 ASTERISK-3 0x080f11c4 in do_message (s=0xca74df64) at manager.c:3189 ASTERISK-4 0x080f13fc in session_do (data=0x88544c8) at manager.c:3261 ASTERISK-5 0x08141535 in dummy_start (data=0x0) at utils.c:968 ASTERISK-6 0xce92cd66 in _thrp_setup () from /usr/lib/libc.so.1 ASTERISK-7 0xce92cff0 in __csigsetjmp () from /usr/lib/libc.so.1 ASTERISK-8 0x00000000 in ?? () | ||
Comments: | By: Leif Madsen (lmadsen) 2010-07-14 10:42:59 What is/are the other issues related to this? Thanks! By: Ben Klang (bklang) 2010-07-14 10:53:58 Issues with similar causes: ASTERISK-15505, ASTERISK-15357, ASTERISK-15867 By: Digium Subversion (svnbot) 2010-07-16 13:04:11 Repository: asterisk Revision: 277261 U branches/1.4/main/manager.c ------------------------------------------------------------------------ r277261 | tilghman | 2010-07-16 13:04:10 -0500 (Fri, 16 Jul 2010) | 5 lines If variable gotten is not set, will segfault on Solaris. (closes issue ASTERISK-16358) Reported by: bklang ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=277261 By: Digium Subversion (svnbot) 2010-07-16 13:14:04 Repository: asterisk Revision: 277263 _U trunk/ U trunk/main/manager.c ------------------------------------------------------------------------ r277263 | tilghman | 2010-07-16 13:14:04 -0500 (Fri, 16 Jul 2010) | 12 lines Merged revisions 277261 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r277261 | tilghman | 2010-07-16 13:04:11 -0500 (Fri, 16 Jul 2010) | 5 lines If variable gotten is not set, will segfault on Solaris. (closes issue ASTERISK-16358) Reported by: bklang ........ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=277263 By: Digium Subversion (svnbot) 2010-07-16 13:14:56 Repository: asterisk Revision: 277264 _U branches/1.6.2/ U branches/1.6.2/main/manager.c ------------------------------------------------------------------------ r277264 | tilghman | 2010-07-16 13:14:55 -0500 (Fri, 16 Jul 2010) | 19 lines Merged revisions 277263 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ................ r277263 | tilghman | 2010-07-16 13:14:05 -0500 (Fri, 16 Jul 2010) | 12 lines Merged revisions 277261 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r277261 | tilghman | 2010-07-16 13:04:11 -0500 (Fri, 16 Jul 2010) | 5 lines If variable gotten is not set, will segfault on Solaris. (closes issue ASTERISK-16358) Reported by: bklang ........ ................ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=277264 |