Thread: Bug #531: libpq: Operations following PQfinish() work.

Bug #531: libpq: Operations following PQfinish() work.

From
pgsql-bugs@postgresql.org
Date:
Anthony Chavez (anthony@xmission.com) reports a bug with a severity of 4
The lower the number the more severe it is.

Short Description
libpq: Operations following PQfinish() work.

Long Description
The PGconn *conn argument to PQfinish() is not set to NULL.  As a result, calling libpq functions---in particular,
PQexec()---afterPQfinish() has been called, continue to work until the following segmentation fault occurs: 

Program received signal SIGSEGV, Segmentation fault.
0x4044dec7 in resetPQExpBuffer () from /usr/lib/libpq.so.2

This can be misleading, and it may be wise to set conn = NULL before PQfinish() returns.

Environment: PostgreSQL 7.1.3 / RedHat Linux 7.1.


Sample Code


No file was uploaded with this report

Re: Bug #531: libpq: Operations following PQfinish() work.

From
Bruce Momjian
Date:
This is an interesting question.  Should we clear these variables for
safety.  I can't think of any other software that does this.

---------------------------------------------------------------------------

> Anthony Chavez (anthony@xmission.com) reports a bug with a severity of 4
> The lower the number the more severe it is.
>
> Short Description
> libpq: Operations following PQfinish() work.
>
> Long Description
> The PGconn *conn argument to PQfinish() is not set to NULL.  As a result, calling libpq functions---in particular,
PQexec()---afterPQfinish() has been called, continue to work until the following segmentation fault occurs: 
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x4044dec7 in resetPQExpBuffer () from /usr/lib/libpq.so.2
>
> This can be misleading, and it may be wise to set conn = NULL before PQfinish() returns.
>
> Environment: PostgreSQL 7.1.3 / RedHat Linux 7.1.
>
>
> Sample Code
>
>
> No file was uploaded with this report
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
>     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
>

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

Re: Bug #531: libpq: Operations following PQfinish() work.

From
Tom Lane
Date:
Bruce Momjian <pgman@candle.pha.pa.us> writes:
> This is an interesting question.  Should we clear these variables for
> safety.

Rather difficult considering that it's passed by value.

            regards, tom lane