浏览代码

HID: i2c-hid: fix ret_count check

ret_count has to be at least 3, as we have to count the 2 bytes that are used
for the size of the reply. Without this, memcpy() might be called with zero or
negative count.

Reported-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Jiri Kosina 12 年之前
父节点
当前提交
9afd09a1db
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      drivers/hid/i2c-hid/i2c-hid.c

+ 1 - 1
drivers/hid/i2c-hid/i2c-hid.c

@@ -520,7 +520,7 @@ static int i2c_hid_get_raw_report(struct hid_device *hid,
 
 	ret_count = ihid->inbuf[0] | (ihid->inbuf[1] << 8);
 
-	if (!ret_count)
+	if (ret_count <= 2)
 		return 0;
 
 	ret_count = min(ret_count, ask_count);