postgres.git / summary / log / commit / refs

commit    83a7637e2c5be27a0788b920501dde284b3fca33
Author:   Tom Lane <tgl@sss.pgh.pa.us>
Date:     Sun Feb 20 20:02:41 2022 +0000
First released in: 15.0

    Reset conn->errorReported when PQrequestCancel sets errorMessage.
    
    Oversight in commit 618c16707.  This is mainly neatnik-ism, since
    if PQrequestCancel is used per its API contract, we should perform
    pqClearConnErrorState before reaching any place that would consult
    errorReported.  But still, it seems like a bad idea to potentially
    leave errorReported pointing past errorMessage.len.


src/interfaces/libpq/fe-connect.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/interfaces/libpq/fe-connect.c b/src/interfaces/libpq/fe-connect.c index 2a3d68b4d14..1c5a2b43e99 100644 --- a/src/interfaces/libpq/fe-connect.c +++ b/src/interfaces/libpq/fe-connect.c @@ -4687,6 +4687,7 @@ PQrequestCancel(PGconn *conn) "PQrequestCancel() -- connection is not open\n", conn->errorMessage.maxlen); conn->errorMessage.len = strlen(conn->errorMessage.data); + conn->errorReported = 0; return false; } @@ -4706,7 +4707,10 @@ PQrequestCancel(PGconn *conn) } if (!r) + { conn->errorMessage.len = strlen(conn->errorMessage.data); + conn->errorReported = 0; + } return r; } [parent: 1c6d4629394d]