On 06/02/2020 00:27, Jim Meyering wrote:
Building latest latest coreutils using latest-from-git gcc10 evokes this false positive:lib/careadlinkat.c: In function 'careadlinkat': cc1: error: function may return address of local variable [-Werror=return-local-addr] lib/careadlinkat.c:73:8: note: declared here 73 | char stack_buf[1024]; I'm guessing improved flow analysis will eventually suppress this. I hesitate to turn off the useful and normally-high-S/N -Wreturn-local-addr globally. Maybe just disable it in that one file, temporarily?
The logic of the function looks fine. Would an `assure (buf != stack_buf)` before the `return buf` indicate that constraint to gcc with minimal runtime overhead? cheers, Pádraig
