2007-05-27 11:33:06

by Jeff Garzik

[permalink] [raw]
Subject: [PATCH] mtd/ubi: silence gcc warning


Silence the gcc warning

drivers/mtd/ubi/eba.c: In function ‘ubi_eba_read_leb’:
drivers/mtd/ubi/eba.c:371: warning: ‘crc’ may be used uninitialized in this function

This is an example of the uninit'd-var warnings emitted by gcc that
can be proven to be bogus.

Normally I would commit this to my git repository containing
such verified cases, but with all the goto-driven control flow in
ubi_eba_read_leb(), I feel that initializing the 'crc' variable is
an easy way to both shut up gcc, and also make the code less fragile
for the long term.

Signed-off-by: Jeff Garzik <[email protected]>

diff --git a/drivers/mtd/ubi/eba.c b/drivers/mtd/ubi/eba.c
index 7400294..3fe1722 100644
--- a/drivers/mtd/ubi/eba.c
+++ b/drivers/mtd/ubi/eba.c
@@ -368,7 +368,7 @@ int ubi_eba_read_leb(struct ubi_device *ubi, int vol_id, int lnum, void *buf,
int err, pnum, scrub = 0, idx = vol_id2idx(ubi, vol_id);
struct ubi_vid_hdr *vid_hdr;
struct ubi_volume *vol = ubi->volumes[idx];
- uint32_t crc, crc1;
+ uint32_t crc = 0, crc1;

err = leb_read_lock(ubi, vol_id, lnum);
if (err)


2007-05-27 12:50:09

by Josh Boyer

[permalink] [raw]
Subject: Re: [PATCH] mtd/ubi: silence gcc warning

On Sun, 2007-05-27 at 07:32 -0400, Jeff Garzik wrote:
> Silence the gcc warning
>
> drivers/mtd/ubi/eba.c: In function ‘ubi_eba_read_leb’:
> drivers/mtd/ubi/eba.c:371: warning: ‘crc’ may be used uninitialized in this function
>
> This is an example of the uninit'd-var warnings emitted by gcc that
> can be proven to be bogus.
>
> Normally I would commit this to my git repository containing
> such verified cases, but with all the goto-driven control flow in
> ubi_eba_read_leb(), I feel that initializing the 'crc' variable is
> an easy way to both shut up gcc, and also make the code less fragile
> for the long term.
>
> Signed-off-by: Jeff Garzik <[email protected]>

Acked-by: Josh Boyer <[email protected]>

2007-05-27 12:55:44

by Artem Bityutskiy

[permalink] [raw]
Subject: Re: [PATCH] mtd/ubi: silence gcc warning

On Sun, 2007-05-27 at 07:32 -0400, Jeff Garzik wrote:
> Silence the gcc warning
>
> drivers/mtd/ubi/eba.c: In function ‘ubi_eba_read_leb’:
> drivers/mtd/ubi/eba.c:371: warning: ‘crc’ may be used uninitialized in this function
>
> This is an example of the uninit'd-var warnings emitted by gcc that
> can be proven to be bogus.
>
> Normally I would commit this to my git repository containing
> such verified cases, but with all the goto-driven control flow in
> ubi_eba_read_leb(), I feel that initializing the 'crc' variable is
> an easy way to both shut up gcc, and also make the code less fragile
> for the long term.

Committed to the UBI git tree, thanks.

--
Best regards,
Artem Bityutskiy (Битюцкий Артём)