Commit 62a1a580 authored by Takashi Iwai's avatar Takashi Iwai Committed by Jiri Kosina

HID: hid-sensor-custom: Use scnprintf() for avoiding potential buffer overflow

Since snprintf() returns the would-be-output size instead of the
actual output size, the succeeding calls may go beyond the given
buffer limit.  Fix it by replacing with scnprintf().
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
parent 42f502df
...@@ -313,7 +313,7 @@ static ssize_t show_value(struct device *dev, struct device_attribute *attr, ...@@ -313,7 +313,7 @@ static ssize_t show_value(struct device *dev, struct device_attribute *attr,
while (i < ret) { while (i < ret) {
if (i + attribute->size > ret) { if (i + attribute->size > ret) {
len += snprintf(&buf[len], len += scnprintf(&buf[len],
PAGE_SIZE - len, PAGE_SIZE - len,
"%d ", values[i]); "%d ", values[i]);
break; break;
...@@ -336,10 +336,10 @@ static ssize_t show_value(struct device *dev, struct device_attribute *attr, ...@@ -336,10 +336,10 @@ static ssize_t show_value(struct device *dev, struct device_attribute *attr,
++i; ++i;
break; break;
} }
len += snprintf(&buf[len], PAGE_SIZE - len, len += scnprintf(&buf[len], PAGE_SIZE - len,
"%lld ", value); "%lld ", value);
} }
len += snprintf(&buf[len], PAGE_SIZE - len, "\n"); len += scnprintf(&buf[len], PAGE_SIZE - len, "\n");
return len; return len;
} else if (input) } else if (input)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment