diff mbox series

cutils: squelch compiler warnings with custom paths

Message ID 20231005124905.64750-1-pbonzini@redhat.com
State New
Headers show
Series cutils: squelch compiler warnings with custom paths | expand

Commit Message

Paolo Bonzini Oct. 5, 2023, 12:49 p.m. UTC
Setting --bindir= to an absolute path that is shorter than the
prefix causes GCC to complain about array accesses out of bounds.
The code however is safe, so disable the warning and explain why
we are doing so.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 util/cutils.c | 7 +++++++
 1 file changed, 7 insertions(+)
diff mbox series

Patch

diff --git a/util/cutils.c b/util/cutils.c
index 486acbdd673..f8030fe9f70 100644
--- a/util/cutils.c
+++ b/util/cutils.c
@@ -1012,8 +1012,15 @@  int qemu_pstrcmp0(const char **str1, const char **str2)
 static inline bool starts_with_prefix(const char *dir)
 {
     size_t prefix_len = strlen(CONFIG_PREFIX);
+    /*
+     * dir[prefix_len] is only accessed if the length of dir is
+     * >= prefix_len, so no out of bounds access is possible.
+     */
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Warray-bounds="
     return !memcmp(dir, CONFIG_PREFIX, prefix_len) &&
         (!dir[prefix_len] || G_IS_DIR_SEPARATOR(dir[prefix_len]));
+#pragma GCC diagnostic pop
 }
 
 /* Return the next path component in dir, and store its length in *p_len.  */