[asterisk-commits] jpeeler: trunk r294907 - in /trunk: ./ apps/app_voicemail.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Fri Nov 12 14:53:14 CST 2010


Author: jpeeler
Date: Fri Nov 12 14:53:08 2010
New Revision: 294907

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=294907
Log:
Merged revisions 294905 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r294905 | jpeeler | 2010-11-12 14:52:06 -0600 (Fri, 12 Nov 2010) | 30 lines
  
  Merged revisions 294904 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r294904 | jpeeler | 2010-11-12 14:51:15 -0600 (Fri, 12 Nov 2010) | 23 lines
    
    Merged revisions 294903 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r294903 | jpeeler | 2010-11-12 14:49:09 -0600 (Fri, 12 Nov 2010) | 16 lines
      
      Fix regression causing abort in voicemail after opening a mailbox with no mesgs.
      
      In order to be more safe, some error handling code was changed to respect more
      error conditions including the potential memory allocation failure for deleted
      and heard message tracking introduced in 293004. However, last_message_index
      returns -1 for zero messages (perhaps as expected) and was triggering the
      stricter error checking. Because last_message_index is only called directly
      in one place, just return 0 from open_mailbox (for file based storage) when no
      messages are detected unless a real error has occurred.
      
      (closes issue #18240)
      Reported by: leobrown
      Patches: 
            bug18240.1-6-2.diff.txt uploaded by alecdavis (license 585)
      Tested by: pabelanger
    ........
  ................
................

Modified:
    trunk/   (props changed)
    trunk/apps/app_voicemail.c

Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-1.8-merged' - no diff available.

Modified: trunk/apps/app_voicemail.c
URL: http://svnview.digium.com/svn/asterisk/trunk/apps/app_voicemail.c?view=diff&rev=294907&r1=294906&r2=294907
==============================================================================
--- trunk/apps/app_voicemail.c (original)
+++ trunk/apps/app_voicemail.c Fri Nov 12 14:53:08 2010
@@ -2623,6 +2623,7 @@
 		ast_log(LOG_WARNING, "The code expects the old messages to be checked first, fix the code.\n");
 	}
 	if (vm_allocate_dh(vms, vmu, box == 0 ? vms->vmArrayIndex + vms->oldmessages : vms->lastmsg)) {
+		ast_mutex_unlock(&vms->lock);
 		return -1;
 	}
 
@@ -7710,7 +7711,7 @@
 	last_msg = last_message_index(vmu, vms->curdir);
 	ast_unlock_path(vms->curdir);
 
-	if (last_msg < 0) {
+	if (last_msg < -1) {
 		return last_msg;
 	} else if (vms->lastmsg != last_msg) {
 		ast_log(LOG_NOTICE, "Mailbox: %s, expected %d but found %d message(s) in box with max threshold of %d.\n", vms->curdir, last_msg + 1, vms->lastmsg + 1, vmu->maxmsg);




More information about the asterisk-commits mailing list