[asterisk-commits] tilghman: trunk r131753 - /trunk/res/res_config_sqlite.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Thu Jul 17 13:36:35 CDT 2008


Author: tilghman
Date: Thu Jul 17 13:36:34 2008
New Revision: 131753

URL: http://svn.digium.com/view/asterisk?view=rev&rev=131753
Log:
Fix memory leaks
(closes issue #13099)
 Reported by: gknispel_proformatique
 Patches: 
       res_config_sqlite_leak_on_error.patch uploaded by gknispel (license 261)

Modified:
    trunk/res/res_config_sqlite.c

Modified: trunk/res/res_config_sqlite.c
URL: http://svn.digium.com/view/asterisk/trunk/res/res_config_sqlite.c?view=diff&rev=131753&r1=131752&r2=131753
==============================================================================
--- trunk/res/res_config_sqlite.c (original)
+++ trunk/res/res_config_sqlite.c Thu Jul 17 13:36:34 2008
@@ -1175,6 +1175,7 @@
 
 	if (!(tmp_str = sqlite_mprintf("%s WHERE %q = '%q';", query, keyfield, entity))) {
 		ast_log(LOG_WARNING, "Unable to reallocate SQL query\n");
+		sqlite_freemem(query);
 		return -1;
 	}
 
@@ -1235,6 +1236,7 @@
 		}
 		if (!tmp_keys) {
 			ast_log(LOG_WARNING, "Unable to reallocate SQL query\n");
+			sqlite_freemem(tmp_vals);
 			ast_free(params);
 			ast_free(vals);
 			return -1;
@@ -1248,6 +1250,7 @@
 		}
 		if (!tmp_vals) {
 			ast_log(LOG_WARNING, "Unable to reallocate SQL query\n");
+			sqlite_freemem(tmp_keys);
 			ast_free(params);
 			ast_free(vals);
 			return -1;
@@ -1263,6 +1266,8 @@
 
 	if (!(tmp_str = sqlite_mprintf(QUERY, table, tmp_keys, tmp_vals))) {
 		ast_log(LOG_WARNING, "Unable to reallocate SQL query\n");
+		sqlite_freemem(tmp_keys);
+		sqlite_freemem(tmp_vals);
 		return -1;
 	}
 
@@ -1342,6 +1347,7 @@
 	ast_free(vals);
 	if (!(tmp_str = sqlite_mprintf("%s %q = '%q';", query, keyfield, entity))) {
 		ast_log(LOG_WARNING, "Unable to reallocate SQL query\n");
+		sqlite_freemem(query);
 		return -1;
 	}
 	sqlite_freemem(query);




More information about the asterisk-commits mailing list