Browse Source

[GFS2] gfs2_dir_read_data(): fix uninitialized variable usage

In the "if (extlen)" case, "bh" was used uninitialized.

This patch changes the code to what seems to have been intended.

Spotted by the Coverity checker.

This patch also removes a pointless "bh = NULL" asignment (the variable
is never accessed again after this point).

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Adrian Bunk 18 years ago
parent
commit
b7d8ac3e17
1 changed files with 1 additions and 3 deletions
  1. 1 3
      fs/gfs2/dir.c

+ 1 - 3
fs/gfs2/dir.c

@@ -315,8 +315,7 @@ static int gfs2_dir_read_data(struct gfs2_inode *ip, char *buf, u64 offset,
 			if (!ra)
 			if (!ra)
 				extlen = 1;
 				extlen = 1;
 			bh = gfs2_meta_ra(ip->i_gl, dblock, extlen);
 			bh = gfs2_meta_ra(ip->i_gl, dblock, extlen);
-		}
-		if (!bh) {
+		} else {
 			error = gfs2_meta_read(ip->i_gl, dblock, DIO_WAIT, &bh);
 			error = gfs2_meta_read(ip->i_gl, dblock, DIO_WAIT, &bh);
 			if (error)
 			if (error)
 				goto fail;
 				goto fail;
@@ -330,7 +329,6 @@ static int gfs2_dir_read_data(struct gfs2_inode *ip, char *buf, u64 offset,
 		extlen--;
 		extlen--;
 		memcpy(buf, bh->b_data + o, amount);
 		memcpy(buf, bh->b_data + o, amount);
 		brelse(bh);
 		brelse(bh);
-		bh = NULL;
 		buf += amount;
 		buf += amount;
 		copied += amount;
 		copied += amount;
 		lblock++;
 		lblock++;