aboutsummaryrefslogtreecommitdiffstats
path: root/res
diff options
context:
space:
mode:
authortilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2008-07-17 18:36:34 +0000
committertilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2008-07-17 18:36:34 +0000
commit1fc317c74de770ca35222fe2750d5e78798c01ed (patch)
tree04d00714d7e0d7f079006560c84b786f92e6f371 /res
parent5ec315d9fd23a08cbf434d0b70fb56e09a4ec754 (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.c6
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);