pgsql: Avoid copying undefined data in _readA_Const(). - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Avoid copying undefined data in _readA_Const().
Date
Msg-id E1pdypM-004MdY-Ai@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Avoid copying undefined data in _readA_Const().

nodeRead() will have created a Node struct that's only allocated big
enough for the specific node type, so copying sizeof(union ValUnion)
can be copying too much.  This provokes valgrind complaints, and with
very bad luck could perhaps result in SIGSEGV.

While at it, tidy up _equalA_Const to avoid duplicate checks of isnull.

Per report from Alexander Lakhin.  This code is new as of a6bc33019,
so no need to back-patch.

Discussion: https://postgr.es/m/4995256b-cc65-170e-0b22-60ad2cd535f1@gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/e060cd59fabda2a0b2a7e119a58887791d030942

Modified Files
--------------
src/backend/nodes/equalfuncs.c |  8 +++-----
src/backend/nodes/readfuncs.c  | 25 ++++++++++++++++++++++++-
2 files changed, 27 insertions(+), 6 deletions(-)


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: pgsql: Doc: fix documentation example for bytea hex output format.
Next
From: David Rowley
Date:
Subject: pgsql: Fix memory leak in Memoize cache key evaluation