summaryrefslogtreecommitdiff
path: root/apps/app_externalivr.c
diff options
context:
space:
mode:
authorRichard Mudgett <rmudgett@digium.com>2015-03-17 21:52:47 +0000
committerRichard Mudgett <rmudgett@digium.com>2015-03-17 21:52:47 +0000
commitc41dd32b94d46812241785697b997628641e2865 (patch)
tree317a564d837b6a6a59eca76d2d335158ef09f959 /apps/app_externalivr.c
parent803a916334363adcaf5b88bf16eb99d4c1d90dae (diff)
Audit ast_sockaddr_resolve() usage for memory leaks.
Valgrind found some memory leaks associated with ast_sockaddr_resolve(). Most of the leaks had already been fixed by earlier memory leak hunt patches. This patch performs an audit of ast_sockaddr_resolve() and found one more. * Fix ast_sockaddr_resolve() memory leak in apps/app_externalivr.c:app_exec(). * Made main/netsock2.c:ast_sockaddr_resolve() always set the addrs parameter for safety so the pointer will never be uninitialized on return. The same goes for res/res_pjsip_acl.c:extract_contact_addr(). * Made functions that call ast_sockaddr_resolve() with RAII_VAR() controlling the addrs variable use ast_free instead of ast_free_ptr to provide better MALLOC_DEBUG information. Review: https://reviewboard.asterisk.org/r/4509/ ........ Merged revisions 433056 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 433057 from http://svn.asterisk.org/svn/asterisk/branches/13 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433058 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'apps/app_externalivr.c')
-rw-r--r--apps/app_externalivr.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/apps/app_externalivr.c b/apps/app_externalivr.c
index 5649c6998..9cb8839db 100644
--- a/apps/app_externalivr.c
+++ b/apps/app_externalivr.c
@@ -519,6 +519,8 @@ static int app_exec(struct ast_channel *chan, const char *data)
break;
}
+ ast_free(addrs);
+
if (i == num_addrs) {
ast_chan_log(LOG_ERROR, chan, "Could not connect to any host. ExternalIVR failed.\n");
goto exit;