lkml.org 
[lkml]   [2008]   [Nov]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subjectstrict_strto* is not strict enough

    It decodes "\n" as 0, which is bad, because stray echo into backlight
    will turn your backlight off, etc...

    Signed-off-by: Pavel Machek <pavel@suse.cz>

    diff --git a/lib/vsprintf.c b/lib/vsprintf.c
    index a013bbc..87d12a7 100644
    --- a/lib/vsprintf.c
    +++ b/lib/vsprintf.c
    @@ -170,6 +170,8 @@ int strict_strtoul(const char *cp, unsig
    return -EINVAL;

    val = simple_strtoul(cp, &tail, base);
    + if (tail == cp)
    + return -EINVAL;
    if ((*tail == '\0') ||
    ((len == (size_t)(tail - cp) + 1) && (*tail == '\n'))) {
    *res = val;
    @@ -241,6 +243,8 @@ int strict_strtoull(const char *cp, unsi
    return -EINVAL;

    val = simple_strtoull(cp, &tail, base);
    + if (tail == cp)
    + return -EINVAL;
    if ((*tail == '\0') ||
    ((len == (size_t)(tail - cp) + 1) && (*tail == '\n'))) {
    *res = val;
    --
    (english) http://www.livejournal.com/~pavelmachek
    (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html


    \
     
     \ /
      Last update: 2008-11-22 21:35    [W:0.019 / U:61.204 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site