• Tom Lane's avatar
    Prevent using strncpy with src == dest in TupleDescInitEntry. · 9a9473f3
    Tom Lane authored
    The C and POSIX standards state that strncpy's behavior is undefined when
    source and destination areas overlap.  While it remains dubious whether any
    implementations really misbehave when the pointers are exactly equal, some
    platforms are now starting to force the issue by complaining when an
    undefined call occurs.  (In particular OS X 10.9 has been seen to dump core
    here, though the exact set of circumstances needed to trigger that remain
    elusive.  Similar behavior can be expected to be optional on Linux and
    other platforms in the near future.)  So tweak the code to explicitly do
    nothing when nothing need be done.
    
    Back-patch to all active branches.  In HEAD, this also lets us get rid of
    an exception in valgrind.supp.
    
    Per discussion of a report from Matthias Schmitt.
    9a9473f3
tupdesc.c 18.1 KB