summaryrefslogtreecommitdiff
path: root/pbx.c
diff options
context:
space:
mode:
authorMark Spencer <markster@digium.com>2004-02-11 03:54:28 +0000
committerMark Spencer <markster@digium.com>2004-02-11 03:54:28 +0000
commitbac2215fb6de3930f6ae68a62581260d21337318 (patch)
treefea0781c0984e9c492dba5885d45940632011a70 /pbx.c
parent7cdb6d36f4c0579306ae3684dc67c06710d4e74d (diff)
Fix several memory leaks
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2153 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'pbx.c')
-rwxr-xr-xpbx.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/pbx.c b/pbx.c
index 84f601644..27a9b1fe2 100755
--- a/pbx.c
+++ b/pbx.c
@@ -4066,6 +4066,7 @@ void __ast_context_destroy(struct ast_context *con, char *registrar, int lock)
struct ast_include *tmpi, *tmpil= NULL;
struct ast_sw *sw, *swl= NULL;
struct ast_exten *e, *el, *en;
+ struct ast_ignorepat *ipi, *ipl = NULL;
if (lock)
ast_mutex_lock(&conlock);
tmp = contexts;
@@ -4090,7 +4091,12 @@ void __ast_context_destroy(struct ast_context *con, char *registrar, int lock)
tmpil = tmpi;
tmpi = tmpi->next;
free(tmpil);
- tmpil = tmpi;
+ }
+ for (ipi = tmp->ignorepats; ipi; ) {
+ /* Free includes */
+ ipl = ipi;
+ ipi = ipi->next;
+ free(ipl);
}
for (sw = tmp->alts; sw; ) {
swl = sw;