GCC 15's new -Wunterminated-string-initialization notices that the
16 character lookup table "nibbles" (which is not used as a C-String)
needs to be marked as "nonstring":

drivers/input/joystick/magellan.c: In function 'magellan_crunch_nibbles':
drivers/input/joystick/magellan.c:51:44: warning: initializer-string for array 
of 'unsigned char' truncates NUL terminator but destination lacks 'nonstring' 
attribute (17 chars into 16 available) [-Wunterminated-string-initialization]
   51 |         static unsigned char nibbles[16] = "0AB3D56GH9:K<MN?";
      |                                            ^~~~~~~~~~~~~~~~~~

Add the annotation and While at it, mark the table as const too.

Signed-off-by: Kees Cook <[email protected]>
---
Cc: Dmitry Torokhov <[email protected]>
Cc: Erick Archer <[email protected]>
Cc: Christophe JAILLET <[email protected]>
Cc: [email protected]
---
 drivers/input/joystick/magellan.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/input/joystick/magellan.c 
b/drivers/input/joystick/magellan.c
index 2eaa25c9c68c..7622638e5bb8 100644
--- a/drivers/input/joystick/magellan.c
+++ b/drivers/input/joystick/magellan.c
@@ -48,7 +48,7 @@ struct magellan {
 
 static int magellan_crunch_nibbles(unsigned char *data, int count)
 {
-       static unsigned char nibbles[16] = "0AB3D56GH9:K<MN?";
+       static const unsigned char nibbles[16] __nonstring = "0AB3D56GH9:K<MN?";
 
        do {
                if (data[count] == nibbles[data[count] & 0xf])
-- 
2.34.1


Reply via email to