Browse Source

iio: dht11: Fix out-of-bounds read

As we access i-1 we must not start with i=0.

Signed-off-by: Richard Weinberger <richard@nod.at>
Acked-by: Hartmut Knaack <knaack.h@gmx.de>
Acked-by: Harald Geyer <harald@ccbib.org>
Reviewed-by: Sanjeev Sharma <sanjeev_sharma@mentor.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Richard Weinberger 10 years ago
parent
commit
ddc25bdd2b
1 changed files with 1 additions and 1 deletions
  1. 1 1
      drivers/iio/humidity/dht11.c

+ 1 - 1
drivers/iio/humidity/dht11.c

@@ -88,7 +88,7 @@ static int dht11_decode(struct dht11 *dht11, int offset)
 	unsigned char temp_int, temp_dec, hum_int, hum_dec, checksum;
 	unsigned char temp_int, temp_dec, hum_int, hum_dec, checksum;
 
 
 	/* Calculate timestamp resolution */
 	/* Calculate timestamp resolution */
-	for (i = 0; i < dht11->num_edges; ++i) {
+	for (i = 1; i < dht11->num_edges; ++i) {
 		t = dht11->edges[i].ts - dht11->edges[i-1].ts;
 		t = dht11->edges[i].ts - dht11->edges[i-1].ts;
 		if (t > 0 && t < timeres)
 		if (t > 0 && t < timeres)
 			timeres = t;
 			timeres = t;