]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merged revisions 229093 via svnmerge from
authorDavid Vossel <dvossel@digium.com>
Tue, 10 Nov 2009 15:28:57 +0000 (15:28 +0000)
committerDavid Vossel <dvossel@digium.com>
Tue, 10 Nov 2009 15:28:57 +0000 (15:28 +0000)
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: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@229095 65c4cc65-6c06-0410-ace0-fbb531ad65f3

res/res_config_pgsql.c

index 4fa8f27ee821ea5fbc4aeffab512e7c1613bd87c..d51338708de6d21dbdf0dfa3afee6c43bde0e90f 100644 (file)
@@ -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);