[asterisk-commits] kharwell: branch 11 r398103 - in /branches/11: ./ channels/ main/ res/
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Fri Aug 30 14:16:23 CDT 2013
Author: kharwell
Date: Fri Aug 30 14:16:20 2013
New Revision: 398103
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=398103
Log:
Fix various memory leaks
main/config.c - cleanup cache fie includes
res/res_security_log.c - unregister logger level
channesl/chan_sip.c - cleanup io context and notify_types
main/translator.c - cleanup at shutdown
main/named_acl.c - cleanup cli commands
main/indications.c - ast_get_indication_tone() unref default_tone_zone if used
(closes issues ASTERISK-22378)
Reported by: Corey Farrell
Patches:
config_shutdown.patch uploaded by coreyfarrell (license 5909)
res_security_log.patch uploaded by coreyfarrell (license 5909)
chan_sip-11.patch uploaded by coreyfarrell (license 5909)
indications_refleak.patch uploaded by coreyfarrell (license 5909)
named_acl-cli_unreg-11.patch uploaded by coreyfarrell (license 5909)
translate_shutdown.patch uploaded by coreyfarrell (license 5909)
........
Merged revisions 398102 from http://svn.asterisk.org/svn/asterisk/branches/1.8
Modified:
branches/11/ (props changed)
branches/11/channels/chan_sip.c
branches/11/main/config.c
branches/11/main/indications.c
branches/11/main/named_acl.c
branches/11/main/translate.c
branches/11/res/res_security_log.c
Propchange: branches/11/
------------------------------------------------------------------------------
Binary property 'branch-1.8-merged' - no diff available.
Modified: branches/11/channels/chan_sip.c
URL: http://svnview.digium.com/svn/asterisk/branches/11/channels/chan_sip.c?view=diff&rev=398103&r1=398102&r2=398103
==============================================================================
--- branches/11/channels/chan_sip.c (original)
+++ branches/11/channels/chan_sip.c Fri Aug 30 14:16:20 2013
@@ -34717,7 +34717,12 @@
clear_sip_domains();
sip_cfg.contact_acl = ast_free_acl_list(sip_cfg.contact_acl);
+ if (sipsock_read_id) {
+ ast_io_remove(io, sipsock_read_id);
+ sipsock_read_id = NULL;
+ }
close(sipsock);
+ io_context_destroy(io);
ast_sched_context_destroy(sched);
con = ast_context_find(used_context);
if (con) {
@@ -34730,6 +34735,11 @@
sip_reqresp_parser_exit();
sip_unregister_tests();
+
+ if (notify_types) {
+ ast_config_destroy(notify_types);
+ notify_types = NULL;
+ }
ast_format_cap_destroy(sip_tech.capabilities);
sip_cfg.caps = ast_format_cap_destroy(sip_cfg.caps);
Modified: branches/11/main/config.c
URL: http://svnview.digium.com/svn/asterisk/branches/11/main/config.c?view=diff&rev=398103&r1=398102&r2=398103
==============================================================================
--- branches/11/main/config.c (original)
+++ branches/11/main/config.c Fri Aug 30 14:16:20 2013
@@ -3164,6 +3164,10 @@
AST_LIST_LOCK(&cfmtime_head);
while ((cfmtime = AST_LIST_REMOVE_HEAD(&cfmtime_head, list))) {
+ struct cache_file_include *cfinclude;
+ while ((cfinclude = AST_LIST_REMOVE_HEAD(&cfmtime->includes, list))) {
+ ast_free(cfinclude);
+ }
ast_free(cfmtime);
}
AST_LIST_UNLOCK(&cfmtime_head);
Modified: branches/11/main/indications.c
URL: http://svnview.digium.com/svn/asterisk/branches/11/main/indications.c?view=diff&rev=398103&r1=398102&r2=398103
==============================================================================
--- branches/11/main/indications.c (original)
+++ branches/11/main/indications.c Fri Aug 30 14:16:20 2013
@@ -499,6 +499,9 @@
ast_tone_zone_unlock(zone);
+ if (!_zone)
+ zone = ast_tone_zone_unref(zone);
+
return ts;
}
Modified: branches/11/main/named_acl.c
URL: http://svnview.digium.com/svn/asterisk/branches/11/main/named_acl.c?view=diff&rev=398103&r1=398102&r2=398103
==============================================================================
--- branches/11/main/named_acl.c (original)
+++ branches/11/main/named_acl.c Fri Aug 30 14:16:20 2013
@@ -557,6 +557,8 @@
static void named_acl_cleanup(void)
{
+ ast_cli_unregister_multiple(cli_named_acl, ARRAY_LEN(cli_named_acl));
+
aco_info_destroy(&cfg_info);
ao2_global_obj_release(globals);
}
Modified: branches/11/main/translate.c
URL: http://svnview.digium.com/svn/asterisk/branches/11/main/translate.c?view=diff&rev=398103&r1=398102&r2=398103
==============================================================================
--- branches/11/main/translate.c (original)
+++ branches/11/main/translate.c Fri Aug 30 14:16:20 2013
@@ -1396,11 +1396,27 @@
ast_format_cap_iter_end(src);
}
+static void translate_shutdown(void)
+{
+ int x;
+ ast_cli_unregister_multiple(cli_translate, ARRAY_LEN(cli_translate));
+
+ ast_rwlock_wrlock(&tablelock);
+ for (x = 0; x < index_size; x++) {
+ ast_free(__matrix[x]);
+ }
+ ast_free(__matrix);
+ ast_free(__indextable);
+ ast_rwlock_unlock(&tablelock);
+ ast_rwlock_destroy(&tablelock);
+}
+
int ast_translate_init(void)
{
int res = 0;
ast_rwlock_init(&tablelock);
res = matrix_resize(1);
res |= ast_cli_register_multiple(cli_translate, ARRAY_LEN(cli_translate));
+ ast_register_atexit(translate_shutdown);
return res;
}
Modified: branches/11/res/res_security_log.c
URL: http://svnview.digium.com/svn/asterisk/branches/11/res/res_security_log.c?view=diff&rev=398103&r1=398102&r2=398103
==============================================================================
--- branches/11/res/res_security_log.c (original)
+++ branches/11/res/res_security_log.c Fri Aug 30 14:16:20 2013
@@ -159,6 +159,8 @@
security_event_sub = ast_event_unsubscribe(security_event_sub);
}
+ ast_logger_unregister_level(LOG_SECURITY_NAME);
+
ast_verb(3, "Security Logging Disabled\n");
return 0;
More information about the asterisk-commits
mailing list