• Tom Lane's avatar
    Avoid memcpy() with same source and destination during relmapper init. · 53d4f5fe
    Tom Lane authored
    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 5b630501, d3f4e8a8, ad7b48ea, 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
    53d4f5fe
relmapper.c 30 KB