pgsql: Avoid formally-undefined use of memcpy() inhstoreUniquePairs(). - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Avoid formally-undefined use of memcpy() inhstoreUniquePairs().
Date
Msg-id E1eIgLs-0006zp-Jb@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Avoid formally-undefined use of memcpy() in hstoreUniquePairs().

hstoreUniquePairs() often called memcpy with equal source and destination
pointers.  Although this is almost surely harmless in practice, it's
undefined according to the letter of the C standard.  Some versions of
valgrind will complain about it, and some versions of libc as well
(cf. commit ad520ec4a).  Tweak the code to avoid doing that.

Noted by Tomas Vondra.  Back-patch to all supported versions because
of the hazard of libc assertions.

Discussion: https://postgr.es/m/bf84d940-90d4-de91-19dd-612e011007f4@fuzzy.cz

Branch
------
REL9_3_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/6e9ac0a2e2a62449f0c1a89563f80b7bb71c6121

Modified Files
--------------
contrib/hstore/hstore_io.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: pgsql: Repair failure with SubPlans in multi-row VALUES lists.
Next
From: Tom Lane
Date:
Subject: Re: pgsql: Generational memory allocator