@@ -61,9 +61,11 @@ AC_DEFUN([COMPILER_FLAGS], [
with_cflags="$with_cflags -Wcast-align"
with_cflags="$with_cflags -Wswitch-enum"
with_cflags="$with_cflags -Wformat -Wformat-security"
+ with_cflags="$with_cflags -Wstringop-overflow"
with_cflags="$with_cflags -DG_DISABLE_DEPRECATED"
with_cflags="$with_cflags -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_28"
with_cflags="$with_cflags -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_32"
+ with_cflags="$with_cflags -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3"
fi
AC_SUBST([WARNING_CFLAGS], $with_cflags)
])
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> This enables -Wstringop-overflow compiler warnings: 'Warn for calls to string manipulation functions such as "memcpy" and "strcpy" that are determined to overflow the destination buffer.' Along with -D_FORTIFY_SOURCE=3 so the errors like the following can be captured: In function ‘read’, inlined from ‘serial_read_callback’ at emulator/serial.c:90:8: /usr/include/bits/unistd.h:32:10: error: ‘__read_alias’ specified size between 18446744073709490177 and 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Werror=stringop-overflow=] 32 | return __glibc_fortify (read, __nbytes, sizeof (char), | ^~~~~~~~~~~~~~~ --- acinclude.m4 | 2 ++ 1 file changed, 2 insertions(+)