[asterisk-commits] mmichelson: trunk r165318 - in /trunk: apps/ res/

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Wed Dec 17 15:17:20 CST 2008


Author: mmichelson
Date: Wed Dec 17 15:17:20 2008
New Revision: 165318

URL: http://svn.digium.com/view/asterisk?view=rev&rev=165318
Log:
Merged revisions 165255 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r165255 | mmichelson | 2008-12-17 14:51:38 -0600 (Wed, 17 Dec 2008) | 7 lines

Fix some memory leaks found while looking at how realtime
configs are handled.

Also cleaned up some coding guidelines violations in app_realtime.c,
mostly related to spacing


........

Modified:
    trunk/apps/app_directory.c
    trunk/apps/app_meetme.c
    trunk/apps/app_queue.c
    trunk/apps/app_voicemail.c
    trunk/res/res_realtime.c

Modified: trunk/apps/app_directory.c
URL: http://svn.digium.com/view/asterisk/trunk/apps/app_directory.c?view=diff&rev=165318&r1=165317&r2=165318
==============================================================================
--- trunk/apps/app_directory.c (original)
+++ trunk/apps/app_directory.c Wed Dec 17 15:17:20 2008
@@ -437,6 +437,9 @@
 			if (!(cat = ast_category_new(context, "", 99999))) {
 				ast_log(LOG_WARNING, "Out of memory\n");
 				ast_config_destroy(cfg);
+				if (rtdata) {
+					ast_config_destroy(rtdata);
+				}
 				return NULL;
 			}
 			ast_category_append(cfg, cat);

Modified: trunk/apps/app_meetme.c
URL: http://svn.digium.com/view/asterisk/trunk/apps/app_meetme.c?view=diff&rev=165318&r1=165317&r2=165318
==============================================================================
--- trunk/apps/app_meetme.c (original)
+++ trunk/apps/app_meetme.c Wed Dec 17 15:17:20 2008
@@ -1812,7 +1812,7 @@
 	char endtime[32];
 	struct timeval now;
 	struct ast_tm tm;
-	struct ast_variable *var;
+	struct ast_variable *var, *orig_var;
 	char bookid[8]; 
 
 	if (!extendby) {
@@ -1827,6 +1827,8 @@
 	var = ast_load_realtime("meetme", "confno",
 		confno, "startTime<= ", currenttime,
 		"endtime>= ", currenttime, NULL);
+
+	origvar = var;
 
 	/* Identify the specific RealTime conference */
 	while (var) {
@@ -1839,7 +1841,7 @@
 
 		var = var->next;
 	}
-	ast_variables_destroy(var);
+	ast_variables_destroy(orig_var);
 
 	ast_strptime(endtime, DATE_FORMAT, &tm);
 	now = ast_mktime(&tm, NULL);

Modified: trunk/apps/app_queue.c
URL: http://svn.digium.com/view/asterisk/trunk/apps/app_queue.c?view=diff&rev=165318&r1=165317&r2=165318
==============================================================================
--- trunk/apps/app_queue.c (original)
+++ trunk/apps/app_queue.c Wed Dec 17 15:17:20 2008
@@ -2205,8 +2205,12 @@
 
 	/*If the queue is a realtime queue, check to see if it's still defined in real time*/
 	if (q->realtime) {
-		if (!ast_load_realtime("queues", "name", q->name, SENTINEL))
+		struct ast_variable *var;
+		if (!(var = ast_load_realtime("queues", "name", q->name, SENTINEL))) {
 			q->dead = 1;
+		} else {
+			ast_variables_destroy(var);
+		}
 	}
 
 	if (q->dead) {	

Modified: trunk/apps/app_voicemail.c
URL: http://svn.digium.com/view/asterisk/trunk/apps/app_voicemail.c?view=diff&rev=165318&r1=165317&r2=165318
==============================================================================
--- trunk/apps/app_voicemail.c (original)
+++ trunk/apps/app_voicemail.c Wed Dec 17 15:17:20 2008
@@ -9709,6 +9709,8 @@
 		"=============================================================\n"
 		"\n");
 
+	ast_config_destroy(cfg);
+
 	return CLI_SUCCESS;
 }
 

Modified: trunk/res/res_realtime.c
URL: http://svn.digium.com/view/asterisk/trunk/res/res_realtime.c?view=diff&rev=165318&r1=165317&r2=165318
==============================================================================
--- trunk/res/res_realtime.c (original)
+++ trunk/res/res_realtime.c Wed Dec 17 15:17:20 2008
@@ -43,7 +43,7 @@
 static char *cli_realtime_load(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) 
 {
 #define CRL_HEADER_FORMAT "%30s  %-30s\n"
-	struct ast_variable *var=NULL;
+	struct ast_variable *var = NULL, orig_var = NULL;
 
 	switch (cmd) {
 	case CLI_INIT:
@@ -66,6 +66,7 @@
 	if (var) {
 		ast_cli(a->fd, CRL_HEADER_FORMAT, "Column Name", "Column Value");
 		ast_cli(a->fd, CRL_HEADER_FORMAT, "--------------------", "--------------------");
+		orig_var = var;
 		while (var) {
 			ast_cli(a->fd, CRL_HEADER_FORMAT, var->name, var->value);
 			var = var->next;
@@ -73,6 +74,7 @@
 	} else {
 		ast_cli(a->fd, "No rows found matching search criteria.\n");
 	}
+	ast_variables_destroy(orig_var);
 	return CLI_SUCCESS;
 }
 




More information about the asterisk-commits mailing list