On 7/19/2022 3:48 PM, Eric Sunshine wrote: > On Tue, Jul 19, 2022 at 2:48 PM Derrick Stolee via GitGitGadget > <gitgitgadget@xxxxxxxxx> wrote: >> The 'win build' job of our CI build is failing with the following error: >> >> compat/win32/syslog.c: In function 'syslog': >> compat/win32/syslog.c:53:17: error: pointer 'pos' may be used after \ >> 'realloc' [-Werror=use-after-free] >> 53 | memmove(pos + 2, pos + 1, strlen(pos)); >> CC compat/poll/poll.o >> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> compat/win32/syslog.c:47:23: note: call to 'realloc' here >> 47 | str = realloc(str, st_add(++str_len, 1)); >> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > Removing the unrelated "CC compat/poll/poll.o" line would help make > this output less confusing. Yes, sorry. It's output from the parallel build that I should have noticed. >> However, between this realloc() and the use we have a line that resets >> the value of 'pos'. Thus, this error is incorrect. It is likely due to a >> new version of the compiler on the CI machines. >> >> Instead of waiting for a new compiler, create a new variable to avoid >> this error. > > If possible, it is a good idea to mention the actual compiler version > in the commit message as an aid to future readers who might want to > know if this sort of workaround is still needed. I wish I knew. I can only guess that it's a new GCC version on the Windows agents for GitHub Actions, but I don't know exactly which one. Thanks, -Stolee