Skip to content

Commit 7c3650a

Browse files
tebrandtJiri Kosina
authored andcommitted
HID: hid-sensor-custom: Fix buffer overrun in device name
On some platforms there are some platform devices created with invalid names. For example: "HID-SENSOR-INT-020b?.39.auto" instead of "HID-SENSOR-INT-020b.39.auto" This string include some invalid characters, hence it will fail to properly load the driver which will handle this custom sensor. Also it is a problem for some user space tools, which parses the device names from ftrace and dmesg. This is because the string, real_usage, is not NULL terminated and printed with %s to form device name. To address this, initialize the real_usage string with 0s. Reported-and-tested-by: Todd Brandt <[email protected]> Link: https://bugzilla.kernel.org/show_bug.cgi?id=217169 Fixes: 98c062e ("HID: hid-sensor-custom: Allow more custom iio sensors") Cc: [email protected] Suggested-by: Philipp Jungkamp <[email protected]> Signed-off-by: Philipp Jungkamp <[email protected]> Signed-off-by: Todd Brandt <[email protected]> Reviewed-by: Andi Shyti <[email protected]> Reviewed-by: Jonathan Cameron <[email protected]> Acked-by: Srinivas Pandruvada <[email protected]> Signed-off-by: Jiri Kosina <[email protected]>
1 parent dbf56d2 commit 7c3650a

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

drivers/hid/hid-sensor-custom.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -940,7 +940,7 @@ hid_sensor_register_platform_device(struct platform_device *pdev,
940940
struct hid_sensor_hub_device *hsdev,
941941
const struct hid_sensor_custom_match *match)
942942
{
943-
char real_usage[HID_SENSOR_USAGE_LENGTH];
943+
char real_usage[HID_SENSOR_USAGE_LENGTH] = { 0 };
944944
struct platform_device *custom_pdev;
945945
const char *dev_name;
946946
char *c;

0 commit comments

Comments
 (0)