Mark Fasheh
2011-May-05 17:44 UTC
[Ocfs2-devel] [PATCH] ocfs2: Initialize data_ac (might be used uninitialized)
From: Marcus Meissner <meissner at suse.de>
CLANG found that there is a path that has data_ac uninitialized,
this place
2917 /* This gets us the dx_root */
2918 ret = ocfs2_reserve_new_metadata_blocks(osb, 1, &meta_ac);
2919 if (ret) {
3
Taking true branch
2920 mlog_errno(ret);
2921 goto out;
4
Control jumps to line 3168
2922 }
Goes to the out: label without data_ac being initialized.
Ciao, Marcus
Signed-Off-By: Marcus Meissner <meissner at suse.de>
Signed-off-by: Mark Fasheh <mfasheh at suse.com>
---
fs/ocfs2/dir.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/fs/ocfs2/dir.c b/fs/ocfs2/dir.c
index 9fe5b8f..8582e3f 100644
--- a/fs/ocfs2/dir.c
+++ b/fs/ocfs2/dir.c
@@ -2868,7 +2868,7 @@ static int ocfs2_expand_inline_dir(struct inode *dir,
struct buffer_head *di_bh,
bytes = blocks_wanted << sb->s_blocksize_bits;
struct ocfs2_super *osb = OCFS2_SB(dir->i_sb);
struct ocfs2_inode_info *oi = OCFS2_I(dir);
- struct ocfs2_alloc_context *data_ac;
+ struct ocfs2_alloc_context *data_ac = NULL;
struct ocfs2_alloc_context *meta_ac = NULL;
struct buffer_head *dirdata_bh = NULL;
struct buffer_head *dx_root_bh = NULL;
--
1.7.4.1
Joel Becker
2011-May-13 18:34 UTC
[Ocfs2-devel] [PATCH] ocfs2: Initialize data_ac (might be used uninitialized)
On Thu, May 05, 2011 at 10:44:11AM -0700, Mark Fasheh wrote:> From: Marcus Meissner <meissner at suse.de> > > CLANG found that there is a path that has data_ac uninitialized, > this place > 2917 /* This gets us the dx_root */ > 2918 ret = ocfs2_reserve_new_metadata_blocks(osb, 1, &meta_ac); > 2919 if (ret) { > > 3 > Taking true branch > 2920 mlog_errno(ret); > 2921 goto out; > > 4 > Control jumps to line 3168 > 2922 } > > Goes to the out: label without data_ac being initialized. > > Ciao, Marcus > > Signed-Off-By: Marcus Meissner <meissner at suse.de> > Signed-off-by: Mark Fasheh <mfasheh at suse.com>This patch is now in the fixes branch of ocfs2.git. Joel> > --- > fs/ocfs2/dir.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/fs/ocfs2/dir.c b/fs/ocfs2/dir.c > index 9fe5b8f..8582e3f 100644 > --- a/fs/ocfs2/dir.c > +++ b/fs/ocfs2/dir.c > @@ -2868,7 +2868,7 @@ static int ocfs2_expand_inline_dir(struct inode *dir, struct buffer_head *di_bh, > bytes = blocks_wanted << sb->s_blocksize_bits; > struct ocfs2_super *osb = OCFS2_SB(dir->i_sb); > struct ocfs2_inode_info *oi = OCFS2_I(dir); > - struct ocfs2_alloc_context *data_ac; > + struct ocfs2_alloc_context *data_ac = NULL; > struct ocfs2_alloc_context *meta_ac = NULL; > struct buffer_head *dirdata_bh = NULL; > struct buffer_head *dx_root_bh = NULL; > -- > 1.7.4.1 >-- Life's Little Instruction Book #157 "Take time to smell the roses." http://www.jlbec.org/ jlbec at evilplan.org