mirror of
https://github.com/postgres/postgres.git
synced 2025-07-08 11:42:09 +03:00
Don't call PQclear until the struct is really no longer going to be used.
Per Coverity bug #304. Thanks to Martijn van Oosterhout for reporting it. Zero out the pointer fields of PGresult so that these mistakes are more easily catched, per discussion.
This commit is contained in:
@ -8,7 +8,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/interfaces/libpq/fe-exec.c,v 1.184 2006/05/23 22:13:19 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/interfaces/libpq/fe-exec.c,v 1.185 2006/05/28 17:23:29 alvherre Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -364,6 +364,12 @@ PQclear(PGresult *res)
|
||||
if (res->tuples)
|
||||
free(res->tuples);
|
||||
|
||||
/* zero out the pointer fields to catch programming errors */
|
||||
res->attDescs = NULL;
|
||||
res->tuples = NULL;
|
||||
res->errFields = NULL;
|
||||
/* res->curBlock was zeroed out earlier */
|
||||
|
||||
/* Free the PGresult structure itself */
|
||||
free(res);
|
||||
}
|
||||
|
Reference in New Issue
Block a user