Jeremy Huddleston Sequoia <jeremyhu@apple.com> writes:
On Jul 16, 2017, at 16:26, Tom Lane <tgl@sss.pgh.pa.us> wrote: I dug into it and determined that even though _XSERVTransSocketReopen is being very careful to allocate the correct amount of memory, gcc is deciding to generate a __strlcpy_chk() call that abort()s if the string length is >= 14 bytes, because it thinks the declared size of struct sockaddr.sa_data is a hard limit that it ought to enforce.
Yeah. That's unfortunate misunderstanding of POSIX on the part of the compiler team there. Was it really FSF gcc that you're using? If so, please file a bug at https://gcc.gnu.org/bugzilla
Nope ...
If you're seeing that with clang, pleas let me know what version of clang. I thought we fixed clang's over-zealous __builtin_object_size before it was released.
This is current Xcode, as I said before. $ gcc -v Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1 Apple LLVM version 8.1.0 (clang-802.0.42) Target: x86_64-apple-darwin16.6.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin regards, tom lane