Fix memory leaks in app_voicemail when using IMAP storage or realtime config
authorMatthew Jordan <mjordan@digium.com>
Wed, 5 Sep 2012 14:44:36 +0000 (14:44 +0000)
committerMatthew Jordan <mjordan@digium.com>
Wed, 5 Sep 2012 14:44:36 +0000 (14:44 +0000)
commite965020d0cdcc8ba1a3e003204da9a51ff08c771
tree644f9c63e3078740e8a0c2e89c75a810ec4340d1
parent7e46e4d17b703cc2a3f9e6974c7f3f6d991b1671
Fix memory leaks in app_voicemail when using IMAP storage or realtime config

This patch fixes two memory leaks:

1. When find_user is called with NULL as its first parameter, the voicemail
   user returned is allocated on the heap.  The inboxcount2 function uses
   find_user in such a fashion when counting new messages, and fails to free
   the resulting voicemail user object.

2. When populate_defaults is called on a voicemail user, it wipes whatever
   flags have been set on the object by copying over the global flags object.
   If the VM_ALLOCED flag was ste on the voicemail user prior to doing so,
   that flag is removed.  This leaks the voicemail user when free_user is later
   called.

(closes issue ASTERISK-19155)
Reported by: Filip Jenicek
patches:
  asterisk.patch2 uploaded by Filip Jenicek (license 6277)

Patch slightly modified for this commit.

Review: https://reviewboard.asterisk.org/r/2096
........

Merged revisions 372268 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 372288 from http://svn.asterisk.org/svn/asterisk/branches/10
........

Merged revisions 372289 from http://svn.asterisk.org/svn/asterisk/branches/11

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372302 65c4cc65-6c06-0410-ace0-fbb531ad65f3
apps/app_voicemail.c