[asterisk-bugs] [Asterisk 0014739]: [patch] Voicemail(ARGS) is limtted to 1024 characters, large 'blast' groups are silently left off

Asterisk Bug Tracker noreply at bugs.digium.com
Mon May 11 15:51:43 CDT 2009


The following issue is now READY FOR REVIEW. 
====================================================================== 
http://bugs.digium.com/view.php?id=14739 
====================================================================== 
Reported By:                p_lindheimer
Assigned To:                tilghman
====================================================================== 
Project:                    Asterisk
Issue ID:                   14739
Category:                   Applications/app_voicemail
Reproducibility:            have not tried
Severity:                   major
Priority:                   normal
Status:                     ready for review
Target Version:             1.6.3.0
Asterisk Version:           SVN 
Regression:                 No 
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2009-03-24 16:53 CDT
Last Modified:              2009-05-11 15:51 CDT
====================================================================== 
Summary:                    [patch] Voicemail(ARGS) is limtted to 1024
characters, large 'blast' groups are silently left off
Description: 
When sending voicemail to several users in the supported format:

Voicemail(200 at default&201 at default& ... 299 at default,s)

the app_voicemail truncates the resulting parameter to 1024 characters. In
FreePBX, there is a blast group that accumulates these into a channel
variable. Therefore, the size that should be allowed should be at least
equivalent to the max size of a channel variable. (Or larger if a command
line can be longer). Unless of course there are other limitations...

In FreePBX, this is called as:

exten => 1,1,VoiceMail(${GRPLIST:1},s)                                    
                                                                        

where the list was previously accumulated in GRPLIST.

The following change reportedly fixes the issue until the new limitation
is met:

--- app_voicemail.c     (revision 184036)
+++ app_voicemail.c     (working copy)
@@ -4962,7 +4962,7 @@
        char fmt[80];
        char *context;
        char ecodes[17] = "#";
-       char tmp[1024] = "";
+       char tmp[2048] = "";
        char *tmpptr;
        struct ast_vm_user *vmu;
        struct ast_vm_user svm;

So it would seem that either a much larger tmp variable should be created
to address very large lists, or it should be dynamically allocated based on
the sizeof the ext argument that is passed to it.

(note - I marked it 'major' because the dialplan is silently corrupting
the data, seemed like it was more than minor, less than major)...
====================================================================== 

---------------------------------------------------------------------- 
 (0104552) lmadsen (administrator) - 2009-05-11 15:51
 http://bugs.digium.com/view.php?id=14739#c104552 
---------------------------------------------------------------------- 
Since it looks like the only remaining issue here was a discussion about
why we were using WARNING instead of ERROR, and that everything else was
good (functionality wise) I'm going to set this Ready for Review. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-05-11 15:51 lmadsen        Note Added: 0104552                          
2009-05-11 15:51 lmadsen        Status                   ready for testing =>
ready for review
======================================================================




More information about the asterisk-bugs mailing list