From 941599ce643cc5a2f31b60252ba1f27935189728 Mon Sep 17 00:00:00 2001 From: Tilghman Lesher Date: Thu, 17 Jul 2008 18:36:34 +0000 Subject: 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 --- res/res_config_sqlite.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/res/res_config_sqlite.c b/res/res_config_sqlite.c index 1dcf254e3..77d2f5875 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); -- cgit v1.2.3