summaryrefslogtreecommitdiffstats
path: root/drivers/usb/typec
diff options
context:
space:
mode:
authorArnd Bergmann2018-07-06 15:28:32 +0200
committerGreg Kroah-Hartman2018-07-06 16:36:19 +0200
commit8160eac1213fb6d466dee156638647a71da7d7fb (patch)
tree3132591fd95b2365e0fda3ecc479717e80753435 /drivers/usb/typec
parentusb: typec: unlock dp->lock on error exit path, and also zero ret if successful (diff)
downloadkernel-qcow2-linux-8160eac1213fb6d466dee156638647a71da7d7fb.tar.gz
kernel-qcow2-linux-8160eac1213fb6d466dee156638647a71da7d7fb.tar.xz
kernel-qcow2-linux-8160eac1213fb6d466dee156638647a71da7d7fb.zip
usb: typec: avoid format-overflow warning
gcc-8 points out that the fix-byte buffer might be too small if desc->mode is a three-digit number: drivers/usb/typec/class.c: In function 'typec_register_altmode': drivers/usb/typec/class.c:502:32: error: '%d' directive writing between 1 and 3 bytes into a region of size 2 [-Werror=format-overflow=] sprintf(alt->group_name, "mode%d", desc->mode); ^~ drivers/usb/typec/class.c:502:27: note: directive argument in the range [0, 255] sprintf(alt->group_name, "mode%d", desc->mode); ^~~~~~~~ drivers/usb/typec/class.c:502:2: note: 'sprintf' output between 6 and 8 bytes into a destination of size 6 sprintf(alt->group_name, "mode%d", desc->mode); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ I assume this cannot happen in practice, but we can simply make the string long enough to avoid the warning. This uses the two padding bytes that already exist after the string. Fixes: 4ab8c18d4d67 ("usb: typec: Register a device for every mode") Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/typec')
-rw-r--r--drivers/usb/typec/bus.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/typec/bus.h b/drivers/usb/typec/bus.h
index 62aaf8b56bde..db40e61d8b72 100644
--- a/drivers/usb/typec/bus.h
+++ b/drivers/usb/typec/bus.h
@@ -16,7 +16,7 @@ struct altmode {
enum typec_port_data roles;
struct attribute *attrs[5];
- char group_name[6];
+ char group_name[8];
struct attribute_group group;
const struct attribute_group *groups[2];