commit: de8d2c8de7d456a15f83551bfc3fcf6ff1fffaf1 Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Thu Oct 27 23:37:43 2022 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Thu Oct 27 23:37:43 2022 +0000 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=de8d2c8d
install-qa-check.d/90gcc-warnings: add -Wmismatched-dealloc These could easily lead to UAFs / out of bound access if the malloc used is oversized (e.g. using my_free() on something allocated by malloc(), with my_free() assuming existence of some extra data from my_malloc()). Signed-off-by: Sam James <sam <AT> gentoo.org> bin/install-qa-check.d/90gcc-warnings | 3 +++ 1 file changed, 3 insertions(+) diff --git a/bin/install-qa-check.d/90gcc-warnings b/bin/install-qa-check.d/90gcc-warnings index 256e6918b..3a57c0a3b 100644 --- a/bin/install-qa-check.d/90gcc-warnings +++ b/bin/install-qa-check.d/90gcc-warnings @@ -66,6 +66,9 @@ gcc_warn_check() { 'warning: .*\[-Waggressive-loop-optimizations\]' # conversion between pointers that have incompatible types 'warning: .*\[-Wincompatible-pointer-types\]' + # using wrong deallocator, e.g. using free() on object allocated using my_malloc() + # when my_malloc() is annotated as needing my_free(). + 'warning: .*\[-Wmismatched-dealloc\]' # clobbered: Warn for variables that might be changed by longjmp or vfork # (This warning is also enabled by -Wextra.) 'warning: .*\[-Wclobbered\]'