diff options
author | dvossel <dvossel@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-11-10 15:27:45 +0000 |
---|---|---|
committer | dvossel <dvossel@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-11-10 15:27:45 +0000 |
commit | 793d179b077a7c754502a716ed53f55858e05990 (patch) | |
tree | 984f74af5a97b0e86ab66ae16992f01741942537 /res/res_config_pgsql.c | |
parent | 42a8ad63b9977236b8a684ba98b2e6957ef9f888 (diff) |
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/trunk@229093 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'res/res_config_pgsql.c')
-rw-r--r-- | res/res_config_pgsql.c | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/res/res_config_pgsql.c b/res/res_config_pgsql.c index 5622d6762..e4bffd307 100644 --- a/res/res_config_pgsql.c +++ b/res/res_config_pgsql.c @@ -678,7 +678,6 @@ static int update_pgsql(const char *database, const char *tablename, const char ast_debug(1, "PostgreSQL RealTime: Query: %s\n", ast_str_buffer(sql)); 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); @@ -691,14 +690,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); |