Re: [PATCH] staging: speakup: remove simple_strtoul()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 20 May 2018 09:59:00 BST, Justin Skists <justin.skists@xxxxxxxxxxx> wrote:
>
>
>Hi Gabriel,
>
>On 19 May 2018 23:02:36 BST, Gabriel Fedel <fedel@xxxxxxxxxxxx> wrote:
>>Replace simple_strtoul() with kstrtoul(), because simple_strtoul() is
>>obsolete
>>
>>Signed-off-by: Gabriel Fedel <fedel@xxxxxxxxxxxx>
>>---
>>  drivers/staging/speakup/kobjects.c | 7 +++++--
>>  1 file changed, 5 insertions(+), 2 deletions(-)
>>
>>diff --git a/drivers/staging/speakup/kobjects.c 
>>b/drivers/staging/speakup/kobjects.c
>>index f1f9022..ddc5ac3 100644
>>--- a/drivers/staging/speakup/kobjects.c
>>+++ b/drivers/staging/speakup/kobjects.c
>>@@ -154,7 +154,9 @@ static ssize_t chars_chartab_store(struct kobject
>>*kobj,
>>  			continue;
>>  		}
>>
>>-		index = simple_strtoul(cp, &temp, 10);
>>+		if  kstrtoul((char *)cp, 10, &index) != 0
>>+			pr_warn("overflow or parsing error has occurred");
>>+
>>  		if (index > 255) {
>>  			rejected++;
>>  			cp = linefeed + 1;
>>@@ -787,7 +789,8 @@ static ssize_t message_store_helper(const char
>>*buf, 
>>size_t count,
>>  			continue;
>>  		}
>>
>>-		index = simple_strtoul(cp, &temp, 10);
>>+		if kstrtoul((char *)cp, 10, &index) != 0
>>+			pr_warn("overflow or parsing error has occurred");
>>
>>  		while ((temp < linefeed) && (*temp == ' ' || *temp == '\t'))
>>  			temp++;
>
>Sorry. simple_strtoul() would've updated temp which would mean the
>behaviour at this while loop is now different. 

Oops. I shouldn't review patches without coffee. With a closer look at what the while loop was doing, I don't think it is a real issue. 

Best regards,
Justin
_______________________________________________
Speakup mailing list
Speakup@xxxxxxxxxxxxxxxxx
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup




[Index of Archives]     [Linux for the Blind]     [Fedora Discussioin]     [Linux Kernel]     [Yosemite News]     [Big List of Linux Books]

  Powered by Linux