From 437e00fea04becc91c1b6bc1c0baa636b067a5cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= Date: Thu, 5 Apr 2018 03:50:55 +0200 Subject: [PATCH] tools/kdd: mute spurious gcc warning MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit gcc-8 complains: kdd.c:698:13: error: 'memcpy' offset [-204, -717] is out of the bounds [0, 216] of object 'ctrl' with type 'kdd_ctrl' {aka 'union '} [-Werror=array-bounds] memcpy(buf, ((uint8_t *)&ctrl.c32) + offset, len); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kdd.c: In function 'kdd_select_callback': kdd.c:642:14: note: 'ctrl' declared here kdd_ctrl ctrl; ^~~~ But this is impossible - 'offset' is unsigned and correctly validated few lines before. Signed-off-by: Marek Marczykowski-Górecki Acked-by: Wei Liu Release-Acked-by: Juergen Gross --- tools/debugger/kdd/kdd.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/debugger/kdd/kdd.c b/tools/debugger/kdd/kdd.c index 1bd5dd5..61d769e 100644 --- a/tools/debugger/kdd/kdd.c +++ b/tools/debugger/kdd/kdd.c @@ -695,7 +695,10 @@ static void kdd_handle_read_ctrl(kdd_state *s) KDD_LOG(s, "Request outside of known control space\n"); len = 0; } else { +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Warray-bounds" memcpy(buf, ((uint8_t *)&ctrl.c32) + offset, len); +#pragma GCC diagnostic pop } } -- 2.7.4