|
From: <sv...@va...> - 2015-09-20 13:40:55
|
Author: florian
Date: Sun Sep 20 14:40:47 2015
New Revision: 15655
Log:
Followup to r14908 (BZ #342603).
The first byte of the data array holds the length, so the actual data
length is the value of that byte plus one.
Patch by Jean Delvare <jde...@su...>.
Modified:
trunk/coregrind/m_syswrap/syswrap-linux.c
Modified: trunk/coregrind/m_syswrap/syswrap-linux.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-linux.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-linux.c Sun Sep 20 14:40:47 2015
@@ -6884,7 +6884,7 @@
case VKI_I2C_SMBUS_I2C_BLOCK_BROKEN:
case VKI_I2C_SMBUS_BLOCK_PROC_CALL:
case VKI_I2C_SMBUS_I2C_BLOCK_DATA:
- size = vkis->data->block[0];
+ size = 1 + vkis->data->block[0];
break;
default:
size = 0;
@@ -9410,7 +9410,7 @@
case VKI_I2C_SMBUS_I2C_BLOCK_BROKEN:
case VKI_I2C_SMBUS_BLOCK_PROC_CALL:
case VKI_I2C_SMBUS_I2C_BLOCK_DATA:
- size = vkis->data->block[0];
+ size = 1 + vkis->data->block[0];
break;
default:
size = 0;
|