hwmon/lis3dh: fix critical array out of bounds issue
authorZhifeng Wang <zhifeng.wang@intel.com>
Fri, 17 Feb 2012 02:11:26 +0000 (10:11 +0800)
committerbuildbot <buildbot@intel.com>
Fri, 17 Feb 2012 14:13:51 +0000 (06:13 -0800)
BZ: 23918

Fix a possible array out of bound issue reported by Klocwork scan.

Change-Id: I273b0aa2f20162727d28820726f23d566d61231c
Signed-off-by: Zhifeng Wang <zhifeng.wang@intel.com>
Reviewed-on: http://android.intel.com:8080/35673
Reviewed-by: Du, Alek <alek.du@intel.com>
Reviewed-by: Koskinen, Ilkka <ilkka.koskinen@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
drivers/hwmon/lis3dh_acc.c

index cc05413..0e8cc7e 100644 (file)
@@ -411,6 +411,11 @@ int lis3dh_acc_update_odr(struct lis3dh_acc_data *acc, int poll_interval_ms)
                if (lis3dh_acc_odr_table[i].cutoff_ms <= poll_interval_ms)
                        break;
        }
+
+       /* i < 0 should not happen ... */
+       if (i < 0)
+               goto error;
+
        config = lis3dh_acc_odr_table[i].mask;
        config |= LIS3DH_ACC_ENABLE_ALL_AXES;