pgsql: Avoid memcpy() with same source and destination during relmapper - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Avoid memcpy() with same source and destination during relmapper
Date
Msg-id E1kqMef-00069R-Dg@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Avoid memcpy() with same source and destination during relmapper init.

A narrow reading of the C standard says that memcpy(x,x,n) is undefined,
although it's hard to envision an implementation that would really
misbehave.  However, analysis tools such as valgrind might whine about
this; accordingly, let's band-aid relmapper.c to not do it.

See also 5b630501e, d3f4e8a8a, ad7b48ea0, and other similar fixes.
Apparently, none of those folk tried valgrinding initdb?  This has been
like this for long enough that I'm surprised it hasn't been reported
before.

Back-patch, just in case anybody wants to use a back branch on a platform
that complains about this; we back-patched those earlier fixes too.

Discussion: https://postgr.es/m/161790.1608310142@sss.pgh.pa.us

Branch
------
REL9_5_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/94aaa79afe656e6845d3c8af0befa8922edae0e8

Modified Files
--------------
src/backend/utils/cache/relmapper.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)


pgsql-committers by date:

Previous
From: Fujii Masao
Date:
Subject: pgsql: pg_stat_statements: Track time at which all statistics were last
Next
From: Tom Lane
Date:
Subject: pgsql: Add a couple of missed .gitignore entries.