From 54d334999a128b7fdab7fc6c47362b7adf116155 Mon Sep 17 00:00:00 2001 From: Patrick Porlan Date: Fri, 30 May 2014 14:46:35 +0200 Subject: [PATCH] STPK-1429 Fix erroneous buffer size Not sure what I had in mind with that multiplication. Anyway, the buffer is zero-initialized, so keep it at a reasonable size, which is to say... 32. That's plenty enough for now, as the maximum we encountered is 20 (accel x,y,z 16 bits + gyro x,y,z + 64 bits ts). We don't need the expected data size calculation, because the values are set to zero by default, and because that sum would not be correct anyway in the case where fields such as the timestamp are shared between sensors. Plus, we were not even verifying that the computed sum did really fit our buffer. Issue: STPK-1429 Change-Id: Ie001ceeb634866a1460444bb839918045b72de31 Signed-off-by: Patrick Porlan --- control.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/control.c b/control.c index 188cd6c..c5d6608 100644 --- a/control.c +++ b/control.c @@ -362,12 +362,11 @@ static int integrate_device_report(int dev_num) { int len; int s,c; - unsigned char buf[MAX_SENSOR_REPORT_SIZE * MAX_SENSORS] = { 0 }; + unsigned char buf[MAX_SENSOR_REPORT_SIZE] = { 0 }; int sr_offset; unsigned char *target; unsigned char *source; int size; - int expected_size = 0; int ts; /* There's an incoming report on the specified fd */ @@ -382,14 +381,9 @@ static int integrate_device_report(int dev_num) return -1; } - for (s=0; s