[PATCH 1/1] ubifs: do not decide upon uninitialized variable

Heinrich Schuchardt xypron.glpk at gmx.de
Sat Dec 26 08:34:36 CET 2020


Am 26. Dezember 2020 08:08:52 MEZ schrieb Chris Packham <judge.packham at gmail.com>:
>(note replying on mobile device only code access is via git.denx.de)
>
>On Sat, 26 Dec 2020, 3:19 AM Heinrich Schuchardt, <xypron.glpk at gmx.de>
>wrote:
>
>> Before 'if (err)' we have to initialize the variable otherwise we use
>a
>> random value from the stack.
>>
>> Signed-off-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
>> ---
>>
>
>In all the cases below err might be uninitialised because the code that
>would otherwise initialise it has been conditionally excluded with
>#ifndef
>__UBOOT__. I wonder if we could do something cleaner by making
>dbg_leb_change() etc do something suitable (return 0 or -Esomething).

Why would that be cleaner?

Best regards

Heinrich

>
> fs/ubifs/io.c | 8 ++++----
>>  1 file changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/fs/ubifs/io.c b/fs/ubifs/io.c
>> index eb14b89544..9962cbe7eb 100644
>> --- a/fs/ubifs/io.c
>> +++ b/fs/ubifs/io.c
>> @@ -114,7 +114,7 @@ int ubifs_leb_read(const struct ubifs_info *c,
>int
>> lnum, void *buf, int offs,
>>  int ubifs_leb_write(struct ubifs_info *c, int lnum, const void *buf,
>int
>> offs,
>>                     int len)
>>  {
>> -       int err;
>> +       int err = 0;
>>
>>         ubifs_assert(!c->ro_media && !c->ro_mount);
>>         if (c->ro_error)
>> @@ -136,7 +136,7 @@ int ubifs_leb_write(struct ubifs_info *c, int
>lnum,
>> const void *buf, int offs,
>>
>>  int ubifs_leb_change(struct ubifs_info *c, int lnum, const void
>*buf, int
>> len)
>>  {
>> -       int err;
>> +       int err = 0;
>>
>>         ubifs_assert(!c->ro_media && !c->ro_mount);
>>         if (c->ro_error)
>> @@ -158,7 +158,7 @@ int ubifs_leb_change(struct ubifs_info *c, int
>lnum,
>> const void *buf, int len)
>>
>>  int ubifs_leb_unmap(struct ubifs_info *c, int lnum)
>>  {
>> -       int err;
>> +       int err = 0;
>>
>>         ubifs_assert(!c->ro_media && !c->ro_mount);
>>         if (c->ro_error)
>> @@ -179,7 +179,7 @@ int ubifs_leb_unmap(struct ubifs_info *c, int
>lnum)
>>
>>  int ubifs_leb_map(struct ubifs_info *c, int lnum)
>>  {
>> -       int err;
>> +       int err = 0;
>>
>>         ubifs_assert(!c->ro_media && !c->ro_mount);
>>         if (c->ro_error)
>> --
>> 2.29.2
>>
>>



More information about the U-Boot mailing list