[asterisk-commits] jrose: branch 11 r401661 - in /branches/11: ./ channels/sip/ funcs/ main/ mai...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Wed Oct 23 14:55:06 CDT 2013


Author: jrose
Date: Wed Oct 23 14:55:05 2013
New Revision: 401661

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=401661
Log:
memory leaks: Memory leak cleanup patch by Corey Farrell (first set)

(issue ASTERSIK-22467)
Reported by: Corey Farrell
Patches:
    chan_sip-parse_contact_header_test-free-contacts.patch uploaded by coreyfarrell (license 5909)
    cli-filename-completion-leak.patch uploaded by coreyfarrell (license 5909)
    func_math.patch uploaded by corefarrell (license 5909)
    main-test-cleanup.patch uploaded by coreyfarrell (license 5909)
    test_dlinklists.patch uploaded by coreyfarrell (license 5909)
........

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

Modified:
    branches/11/   (props changed)
    branches/11/channels/sip/reqresp_parser.c
    branches/11/funcs/func_math.c
    branches/11/main/editline/readline.c
    branches/11/main/test.c
    branches/11/tests/test_dlinklists.c

Propchange: branches/11/
------------------------------------------------------------------------------
Binary property 'branch-1.8-merged' - no diff available.

Modified: branches/11/channels/sip/reqresp_parser.c
URL: http://svnview.digium.com/svn/asterisk/branches/11/channels/sip/reqresp_parser.c?view=diff&rev=401661&r1=401660&r2=401661
==============================================================================
--- branches/11/channels/sip/reqresp_parser.c (original)
+++ branches/11/channels/sip/reqresp_parser.c Wed Oct 23 14:55:05 2013
@@ -1561,6 +1561,10 @@
 				}
 
 				contactptr = AST_LIST_NEXT(contactptr,list);
+			}
+
+			while ((contactptr = AST_LIST_REMOVE_HEAD(contactlistptr,list))) {
+				ast_free(contactptr);
 			}
 		}
 	}

Modified: branches/11/funcs/func_math.c
URL: http://svnview.digium.com/svn/asterisk/branches/11/funcs/func_math.c?view=diff&rev=401661&r1=401660&r2=401661
==============================================================================
--- branches/11/funcs/func_math.c (original)
+++ branches/11/funcs/func_math.c Wed Oct 23 14:55:05 2013
@@ -503,6 +503,9 @@
 		res = AST_TEST_FAIL;
 	}
 
+	ast_free(expr);
+	ast_free(result);
+
 	return res;
 }
 #endif

Modified: branches/11/main/editline/readline.c
URL: http://svnview.digium.com/svn/asterisk/branches/11/main/editline/readline.c?view=diff&rev=401661&r1=401660&r2=401661
==============================================================================
--- branches/11/main/editline/readline.c (original)
+++ branches/11/main/editline/readline.c Wed Oct 23 14:55:05 2013
@@ -1236,8 +1236,11 @@
 	filename_len = strlen(filename);
 
 	dir = opendir(dirname ? dirname : ".");
-	if (!dir)
+	if (!dir) {
+		free(filename);
+		free(dirname);
 		return (NULL);	/* cannot open the directory */
+	}
 
 	/* find the match */
 	while ((entry = readdir(dir)) != NULL) {
@@ -1274,6 +1277,8 @@
 	} else
 		temp = NULL;
 	closedir(dir);
+	free(filename);
+	free(dirname);
 
 	return (temp);
 }

Modified: branches/11/main/test.c
URL: http://svnview.digium.com/svn/asterisk/branches/11/main/test.c?view=diff&rev=401661&r1=401660&r2=401661
==============================================================================
--- branches/11/main/test.c (original)
+++ branches/11/main/test.c Wed Oct 23 14:55:05 2013
@@ -931,6 +931,11 @@
 	return 0;
 }
 
+static void test_shutdown(void)
+{
+	ast_cli_unregister_multiple(test_cli, ARRAY_LEN(test_cli));
+}
+
 #endif /* TEST_FRAMEWORK */
 
 int ast_test_init()
@@ -938,6 +943,7 @@
 #ifdef TEST_FRAMEWORK
 	/* Register cli commands */
 	ast_cli_register_multiple(test_cli, ARRAY_LEN(test_cli));
+	ast_register_atexit(test_shutdown);
 #endif
 
 	return 0;

Modified: branches/11/tests/test_dlinklists.c
URL: http://svnview.digium.com/svn/asterisk/branches/11/tests/test_dlinklists.c?view=diff&rev=401661&r1=401660&r2=401661
==============================================================================
--- branches/11/tests/test_dlinklists.c (original)
+++ branches/11/tests/test_dlinklists.c Wed Oct 23 14:55:05 2013
@@ -337,6 +337,7 @@
 
 		if (e == b) {
 			AST_DLLIST_REMOVE_CURRENT(list);  /* C A */
+			free(b);
 			print_list(tc, "C <=> A");
 		}
 		if (e == a) {
@@ -348,6 +349,7 @@
 	AST_DLLIST_TRAVERSE_SAFE_END;
 	print_list(tc, "C <=> A <=> D");
 
+	destroy_test_container(tc);
 }
 
 static int unload_module(void)




More information about the asterisk-commits mailing list