[PATCH] avoid -Wuse-after-free [BZ #26779]

Martin Sebor msebor@gmail.com
Sun Jan 16 00:21:19 GMT 2022


GCC 12 features a couple of new warnings designed to detect uses
of pointers made invalid by the pointees lifetimes having ended.
Building Glibc with the enhanced GCC exposes a few such uses,
mostly after successful calls to realloc.  The attached patch
avoids the new warnings by converting the pointers to uintptr_t
first and using the converted integers instead.

The patch suppresses all instances of the warning at the strictest
setting (-Wuse-after-free=3), which includes even uses in equality
expressions.  The default setting approved for GCC 12 is
-Wuse-after-free=2, which doesn't warn on such uses to accommodate
the pointer-adjustment-after-realloc idiom.  At the default setting,
the changes to ldconfig.c and setenv are not necessary.

Martin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: glibc-26779.diff
Type: text/x-patch
Size: 3316 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/libc-alpha/attachments/20220115/18c79f74/attachment.bin>


More information about the Libc-alpha mailing list