simplify-cancel_key_len-math.patch
text/x-patch
Filename: simplify-cancel_key_len-math.patch
Type: text/x-patch
Part: 0
Patch
Format: unified
| File | + | − |
|---|---|---|
| src/interfaces/libpq/fe-protocol3.c | 5 | 1 |
diff --git a/src/interfaces/libpq/fe-protocol3.c b/src/interfaces/libpq/fe-protocol3.c index beb1c889aad..551276e9011 100644 --- a/src/interfaces/libpq/fe-protocol3.c +++ b/src/interfaces/libpq/fe-protocol3.c @@ -1544,7 +1544,11 @@ getBackendKeyData(PGconn *conn, int msgLength) if (pqGetInt(&(conn->be_pid), 4, conn)) return EOF; - cancel_key_len = 5 + msgLength - (conn->inCursor - conn->inStart); + /* + * The pid consumed 4 bytes, and the cancellation key consumes the rest of + * the message. + */ + cancel_key_len = msgLength - 4; conn->be_cancel_key = malloc(cancel_key_len); if (conn->be_cancel_key == NULL)