diff options
author | Joshua Colp <jcolp@digium.com> | 2016-06-01 16:51:55 -0500 |
---|---|---|
committer | Gerrit Code Review <gerrit2@gerrit.digium.api> | 2016-06-01 16:51:55 -0500 |
commit | e863bca8564fab93f52f35672ae2b7b8bfca81ce (patch) | |
tree | df8d4c488874f6fc5a26c214c5e195a292c207cd | |
parent | 58aef11dc11b8619bbbd07bd24c7e7484cbf6f33 (diff) | |
parent | 40d19f2e5531fd3455e21a51e39a7244580609bb (diff) |
Merge "logging,cdr,cel: Fix stringfield memory leak."
-rw-r--r-- | cdr/cdr_custom.c | 2 | ||||
-rw-r--r-- | cdr/cdr_syslog.c | 2 | ||||
-rw-r--r-- | cel/cel_custom.c | 2 | ||||
-rw-r--r-- | main/logger.c | 1 |
4 files changed, 7 insertions, 0 deletions
diff --git a/cdr/cdr_custom.c b/cdr/cdr_custom.c index 24cb834f6..bb63ea0c6 100644 --- a/cdr/cdr_custom.c +++ b/cdr/cdr_custom.c @@ -81,8 +81,10 @@ static AST_RWLIST_HEAD_STATIC(sinks, cdr_custom_config); static void free_config(void) { struct cdr_custom_config *sink; + while ((sink = AST_RWLIST_REMOVE_HEAD(&sinks, list))) { ast_mutex_destroy(&sink->lock); + ast_string_field_free_memory(sink); ast_free(sink); } } diff --git a/cdr/cdr_syslog.c b/cdr/cdr_syslog.c index 85860ecec..39f115920 100644 --- a/cdr/cdr_syslog.c +++ b/cdr/cdr_syslog.c @@ -76,8 +76,10 @@ static AST_RWLIST_HEAD_STATIC(sinks, cdr_syslog_config); static void free_config(void) { struct cdr_syslog_config *sink; + while ((sink = AST_RWLIST_REMOVE_HEAD(&sinks, list))) { ast_mutex_destroy(&sink->lock); + ast_string_field_free_memory(sink); ast_free(sink); } } diff --git a/cel/cel_custom.c b/cel/cel_custom.c index f6377fcd7..f75efdd4b 100644 --- a/cel/cel_custom.c +++ b/cel/cel_custom.c @@ -71,8 +71,10 @@ static AST_RWLIST_HEAD_STATIC(sinks, cel_config); static void free_config(void) { struct cel_config *sink; + while ((sink = AST_RWLIST_REMOVE_HEAD(&sinks, list))) { ast_mutex_destroy(&sink->lock); + ast_string_field_free_memory(sink); ast_free(sink); } } diff --git a/main/logger.c b/main/logger.c index ae1e0bd8d..9a16dcf13 100644 --- a/main/logger.c +++ b/main/logger.c @@ -174,6 +174,7 @@ struct logmsg { static void logmsg_free(struct logmsg *msg) { + ast_string_field_free_memory(msg); ast_free(msg); } |