mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-11-04 13:21:54 +00:00 
			
		
		
		
	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: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@229095 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
		@@ -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);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user