summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoel Kluin <roel.kluin@gmail.com>2009-10-26 15:28:11 +0100
committerJohn W. Linville <linville@tuxdriver.com>2009-10-27 16:29:49 -0400
commit30bd5726730e374a81c9e677d1a5ba2cf8f94a7c (patch)
treef359e239602838dd8f350e5b72023615a27eab33
parent9b1ce526eb917c8b5c8497c327768130ee683392 (diff)
downloadlinux-30bd5726730e374a81c9e677d1a5ba2cf8f94a7c.tar.gz
linux-30bd5726730e374a81c9e677d1a5ba2cf8f94a7c.tar.bz2
linux-30bd5726730e374a81c9e677d1a5ba2cf8f94a7c.zip
airo: Reorder tests, check bounds before element
Test whether index is within bounds before reading the element Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/airo.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/net/wireless/airo.c b/drivers/net/wireless/airo.c
index 7116a1aa20ce..abf896a7390e 100644
--- a/drivers/net/wireless/airo.c
+++ b/drivers/net/wireless/airo.c
@@ -4790,9 +4790,8 @@ static int proc_stats_rid_open( struct inode *inode,
static int get_dec_u16( char *buffer, int *start, int limit ) {
u16 value;
int valid = 0;
- for( value = 0; buffer[*start] >= '0' &&
- buffer[*start] <= '9' &&
- *start < limit; (*start)++ ) {
+ for (value = 0; *start < limit && buffer[*start] >= '0' &&
+ buffer[*start] <= '9'; (*start)++) {
valid = 1;
value *= 10;
value += buffer[*start] - '0';