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

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
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -313,7 +313,7 @@ static ssize_t show_value(struct device *dev, struct device_attribute *attr,

			while (i < ret) {
				if (i + attribute->size > ret) {
					len += snprintf(&buf[len],
					len += scnprintf(&buf[len],
							PAGE_SIZE - len,
							"%d ", values[i]);
					break;
@@ -336,10 +336,10 @@ static ssize_t show_value(struct device *dev, struct device_attribute *attr,
					++i;
					break;
				}
				len += snprintf(&buf[len], PAGE_SIZE - len,
				len += scnprintf(&buf[len], PAGE_SIZE - len,
						"%lld ", value);
			}
			len += snprintf(&buf[len], PAGE_SIZE - len, "\n");
			len += scnprintf(&buf[len], PAGE_SIZE - len, "\n");

			return len;
		} else if (input)