[PATCH v2] UBIFS: replace simple_strtoul() with kstrtoint()

Zhang Zhen zhenzhang.zhang at huawei.com
Tue May 20 19:22:41 PDT 2014


On 2014/5/20 20:55, Geert Uytterhoeven wrote:
> On Tue, May 20, 2014 at 2:45 PM, Adrian Hunter <adrian.hunter at intel.com> wrote:
>>>>> +     ret = kstrtoint(endptr, 0, &dev);
>>>>
>>>> But endptr is used in the code later, so this is wrong.
>>>
>>> That was my first thought, too. But upon closer look, I think it's correct.
>>>
>>>>>
>>>>>       /* ubiY method */
>>>>> -     if (*endptr == '\0')
>>>
>>> endptr would point to the trailing nul on success...
>>>
>>>>> +     if (!ret)
>>>
>>> ... which is now replaced by a test for ret not being an errorcoe.
>>>
>>>>>               return ubi_open_volume(0, dev, mode);
>>>>>
>>>>>       /* ubiX_Y method */
>>>
>>> If ret is an errorcode, the flow continues.
>>>
>>> As parsing the number failed, the code checks if the first character
>>> (name + 3) is an underscore or colon:
>>
>> No, it does not check if parsing failed, it checks for end-of-input.
>> The "X" and "Y" of "ubiX_Y" are numbers.
Sorry, i made a mistake. As parsing the number failed, it should just return
ERR_PTR(-EINVAL).

Thank you for your review. I learned a lot from you and Geert.
I will send another version.
> 
> Sorry, you're right. Thanks for noticing!
> 
> Gr{oetje,eeting}s,
> 
>                         Geert
> 
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org
> 
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
>                                 -- Linus Torvalds
> 
> 





More information about the linux-mtd mailing list