From: Tilghman Lesher Date: Thu, 17 Jul 2008 18:36:34 +0000 (+0000) Subject: Fix memory leaks X-Git-Tag: 1.6.2.0-beta1~1655 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=941599ce643cc5a2f31b60252ba1f27935189728;p=thirdparty%2Fasterisk.git Fix memory leaks (closes issue #13099) Reported by: gknispel_proformatique Patches: res_config_sqlite_leak_on_error.patch uploaded by gknispel (license 261) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@131753 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/res/res_config_sqlite.c b/res/res_config_sqlite.c index 1dcf254e31..77d2f58751 100644 --- a/res/res_config_sqlite.c +++ b/res/res_config_sqlite.c @@ -1175,6 +1175,7 @@ static int realtime_update_handler(const char *database, const char *table, 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 @@ static int realtime_store_handler(const char *database, const char *table, va_li } 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 @@ static int realtime_store_handler(const char *database, const char *table, va_li } 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 @@ static int realtime_store_handler(const char *database, const char *table, va_li 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 @@ static int realtime_destroy_handler(const char *database, const char *table, 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);