From f9f38922f6b5068f5245fe4db201b942b318e799 Mon Sep 17 00:00:00 2001 From: Andy Shevchenko Date: Mon, 25 Oct 2010 16:10:25 +0200 Subject: [PATCH] --- yaml --- r: 216756 b: refs/heads/master c: f2777077aa1f6f8a7c76b83f240975289a9fb894 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/s390/cio/blacklist.c | 10 ++++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index 79a79655c5dd..5080da997697 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ed3640b285d831065eb0507cdca7d125f6f78e8d +refs/heads/master: f2777077aa1f6f8a7c76b83f240975289a9fb894 diff --git a/trunk/drivers/s390/cio/blacklist.c b/trunk/drivers/s390/cio/blacklist.c index 13cb60162e42..76058a5166ed 100644 --- a/trunk/drivers/s390/cio/blacklist.c +++ b/trunk/drivers/s390/cio/blacklist.c @@ -79,17 +79,15 @@ static int pure_hex(char **cp, unsigned int *val, int min_digit, int max_digit, int max_val) { int diff; - unsigned int value; diff = 0; *val = 0; - while (isxdigit(**cp) && (diff <= max_digit)) { + while (diff <= max_digit) { + int value = hex_to_bin(**cp); - if (isdigit(**cp)) - value = **cp - '0'; - else - value = tolower(**cp) - 'a' + 10; + if (value < 0) + break; *val = *val * 16 + value; (*cp)++; diff++;