diff options
author | tilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-07-17 18:36:34 +0000 |
---|---|---|
committer | tilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-07-17 18:36:34 +0000 |
commit | 1fc317c74de770ca35222fe2750d5e78798c01ed (patch) | |
tree | 04d00714d7e0d7f079006560c84b786f92e6f371 /res | |
parent | 5ec315d9fd23a08cbf434d0b70fb56e09a4ec754 (diff) |
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: http://svn.digium.com/svn/asterisk/trunk@131753 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'res')
-rw-r--r-- | res/res_config_sqlite.c | 6 |
1 files changed, 6 insertions, 0 deletions
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); |