[PATCH v3 5/5] avoid -Wuse-after-free [BZ #26779]
Joseph Myers
joseph@codesourcery.com
Fri Jan 28 13:10:10 GMT 2022
Note that there are still -Wuse-after-free build failures in the testsuite
for many 32-bit platforms. E.g., on i686-linux-gnu:
tst-mallocalign1.c: In function 'do_test':
tst-mallocalign1.c:69:1: error: pointer 'p' used after 'free' [-Werror=use-after-free]
69 | }
| ^
tst-mallocalign1.c:42:3: note: call to 'free' here
42 | free (p);
| ^~~~~~~~
Also, the s390x-linux-gnu-O3 build-many-glibcs.py configuration shows
failures:
In function 'do_test',
inlined from 'legacy_test_function' at ../test-skeleton.c:55:10:
tst-realloc.c:134:12: error: pointer 'p' may be used after 'realloc' [-Werror=use-after-free]
134 | if (c[i] != 0xff)
| ~^~~
tst-realloc.c:124:7: note: call to 'realloc' here
124 | c = realloc (p, -1);
| ^~~~~~~~~~~~~~~
tst-realloc.c:134:12: error: pointer 'p' may be used after 'realloc' [-Werror=use-after-free]
134 | if (c[i] != 0xff)
| ~^~~
tst-realloc.c:124:7: note: call to 'realloc' here
124 | c = realloc (p, -1);
| ^~~~~~~~~~~~~~~
tst-realloc.c:134:12: error: pointer 'p' may be used after 'realloc' [-Werror=use-after-free]
134 | if (c[i] != 0xff)
| ~^~~
tst-realloc.c:124:7: note: call to 'realloc' here
124 | c = realloc (p, -1);
| ^~~~~~~~~~~~~~~
tst-realloc.c:134:12: error: pointer 'p' may be used after 'realloc' [-Werror=use-after-free]
134 | if (c[i] != 0xff)
| ~^~~
tst-realloc.c:124:7: note: call to 'realloc' here
124 | c = realloc (p, -1);
| ^~~~~~~~~~~~~~~
tst-realloc.c:134:12: error: pointer 'p' may be used after 'realloc' [-Werror=use-after-free]
134 | if (c[i] != 0xff)
| ~^~~
tst-realloc.c:124:7: note: call to 'realloc' here
124 | c = realloc (p, -1);
| ^~~~~~~~~~~~~~~
tst-realloc.c:134:12: error: pointer 'p' may be used after 'realloc' [-Werror=use-after-free]
134 | if (c[i] != 0xff)
| ~^~~
tst-realloc.c:124:7: note: call to 'realloc' here
124 | c = realloc (p, -1);
| ^~~~~~~~~~~~~~~
tst-realloc.c:134:12: error: pointer 'p' may be used after 'realloc' [-Werror=use-after-free]
134 | if (c[i] != 0xff)
| ~^~~
tst-realloc.c:124:7: note: call to 'realloc' here
124 | c = realloc (p, -1);
| ^~~~~~~~~~~~~~~
tst-realloc.c:134:12: error: pointer 'p' may be used after 'realloc' [-Werror=use-after-free]
134 | if (c[i] != 0xff)
| ~^~~
tst-realloc.c:124:7: note: call to 'realloc' here
124 | c = realloc (p, -1);
| ^~~~~~~~~~~~~~~
tst-realloc.c:134:12: error: pointer 'p' may be used after 'realloc' [-Werror=use-after-free]
134 | if (c[i] != 0xff)
| ~^~~
tst-realloc.c:124:7: note: call to 'realloc' here
124 | c = realloc (p, -1);
| ^~~~~~~~~~~~~~~
tst-realloc.c:134:12: error: pointer 'p' may be used after 'realloc' [-Werror=use-after-free]
134 | if (c[i] != 0xff)
| ~^~~
tst-realloc.c:124:7: note: call to 'realloc' here
124 | c = realloc (p, -1);
| ^~~~~~~~~~~~~~~
tst-realloc.c:134:12: error: pointer 'p' may be used after 'realloc' [-Werror=use-after-free]
134 | if (c[i] != 0xff)
| ~^~~
tst-realloc.c:124:7: note: call to 'realloc' here
124 | c = realloc (p, -1);
| ^~~~~~~~~~~~~~~
tst-realloc.c:134:12: error: pointer 'p' may be used after 'realloc' [-Werror=use-after-free]
134 | if (c[i] != 0xff)
| ~^~~
tst-realloc.c:124:7: note: call to 'realloc' here
124 | c = realloc (p, -1);
| ^~~~~~~~~~~~~~~
tst-realloc.c:134:12: error: pointer 'p' may be used after 'realloc' [-Werror=use-after-free]
134 | if (c[i] != 0xff)
| ~^~~
tst-realloc.c:124:7: note: call to 'realloc' here
124 | c = realloc (p, -1);
| ^~~~~~~~~~~~~~~
tst-realloc.c:134:12: error: pointer 'p' may be used after 'realloc' [-Werror=use-after-free]
134 | if (c[i] != 0xff)
| ~^~~
tst-realloc.c:124:7: note: call to 'realloc' here
124 | c = realloc (p, -1);
| ^~~~~~~~~~~~~~~
tst-realloc.c:134:12: error: pointer 'p' may be used after 'realloc' [-Werror=use-after-free]
134 | if (c[i] != 0xff)
| ~^~~
tst-realloc.c:124:7: note: call to 'realloc' here
124 | c = realloc (p, -1);
| ^~~~~~~~~~~~~~~
--
Joseph S. Myers
joseph@codesourcery.com
More information about the Libc-alpha
mailing list