aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordvossel <dvossel@f38db490-d61c-443f-a65b-d21fe96a405b>2009-11-10 15:28:57 +0000
committerdvossel <dvossel@f38db490-d61c-443f-a65b-d21fe96a405b>2009-11-10 15:28:57 +0000
commit1f0b7f050a4a7cbe55a1488c28fdb77d5ba77d98 (patch)
tree607c9d716aef924803ccd6261d54b03c171ae814
parent61145ea0963a7f694bf2e7da6930f4ce782535a6 (diff)
Merged revisions 229093 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk ........ r229093 | dvossel | 2009-11-10 09:27:45 -0600 (Tue, 10 Nov 2009) | 11 lines fixes pgsql double free of threadstorage A thread storage variable was being freed incorrectly, which resulted in a double free if two queries were made in the same thread. (closes issue #16011) Reported by: cristiandimache Patches: issue16011.diff uploaded by dvossel (license 671) ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@229095 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--res/res_config_pgsql.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/res/res_config_pgsql.c b/res/res_config_pgsql.c
index 4fa8f27ee..d51338708 100644
--- a/res/res_config_pgsql.c
+++ b/res/res_config_pgsql.c
@@ -667,7 +667,6 @@ static int update_pgsql(const char *database, const char *tablename, const char
ast_debug(1, "PostgreSQL RealTime: Query: %s\n", sql->str);
ast_debug(1, "PostgreSQL RealTime: Query Failed because: %s\n", PQerrorMessage(pgsqlConn));
ast_mutex_unlock(&pgsql_lock);
- ast_free(sql);
return -1;
} else {
ExecStatusType result_status = PQresultStatus(result);
@@ -680,14 +679,12 @@ static int update_pgsql(const char *database, const char *tablename, const char
ast_debug(1, "PostgreSQL RealTime: Query Failed because: %s (%s)\n",
PQresultErrorMessage(result), PQresStatus(result_status));
ast_mutex_unlock(&pgsql_lock);
- ast_free(sql);
return -1;
}
}
numrows = atoi(PQcmdTuples(result));
ast_mutex_unlock(&pgsql_lock);
- ast_free(sql);
ast_debug(1, "PostgreSQL RealTime: Updated %d rows on table: %s\n", numrows, tablename);