[PATCH] mtd/ubi: silence gcc warning

Jeff Garzik jeff at garzik.org
Sun May 27 07:32:54 EDT 2007


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 <jeff at garzik.org>

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)




More information about the linux-mtd mailing list