Skip to contentSkip to conversation

jffs2_init_acl_post() can return uninitialized variable

PATCH New Adrian Bunk 3 participants 3 messages Oct 27, 2007 Journalling flash file system V2 (JFFS2)

lore
Share & tools
lore
#0 lore raw

Commit cfc8dc6f6f69ede939e09c2af06a01adee577285 added the following function that can return the value of an uninitialized variable:

<-- snip -->

...
int jffs2_init_acl_post(struct inode *inode)

{
        struct jffs2_inode_info *f = JFFS2_INODE_INFO(inode);
        int rc;

        if (f->i_acl_default) {
                rc = __jffs2_set_acl(inode, JFFS2_XPREFIX_ACL_DEFAULT, f->i_acl_default);
                if (rc)
                        return rc;
        }

        if (f->i_acl_access) {
                rc = __jffs2_set_acl(inode, JFFS2_XPREFIX_ACL_ACCESS, f->i_acl_access);
                if (rc)
                        return rc;
        }

        return rc;
}

...

<-- snip -->

Spotted by the Coverity checker.

cu
Adrian

Signature · 4 lines
       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed
maintainer
#1 lore raw
Quoted 2 lines · Adrian Bunk

Commit cfc8dc6f6f69ede939e09c2af06a01adee577285 added the following function that can return the value of an uninitialized variable:

Thanks.

Linus, please pull the fix from git://git.infradead.org/mtd-2.6.git

David Woodhouse (2):
[JFFS2] Prevent return of initialised variable in jffs2_init_acl_post() [JFFS2] Update MAINTAINERS entry -- the jffs-dev list is dead

 MAINTAINERS    |    4 ++--
 fs/jffs2/acl.c |    2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)
Signature · 1 line
dwmw2
#2 lore raw

PATCH 1/1 fs/jffs2/acl.c: Fix a may-be-uninitialized return value

In reply to Adrian Bunk

Fix a may-be-uninitialized return value.

---
 fs/jffs2/acl.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
fs/jffs2/acl.c +1 -1
index 9728614..5b14062 100644
@@ -358,7 +358,7 @@ int jffs2_init_acl_pre(struct inode *dir_i, struct inode *inode, int *i_mode)
 int jffs2_init_acl_post(struct inode *inode)
 {
 	struct jffs2_inode_info *f = JFFS2_INODE_INFO(inode);
-	int rc;
+	int rc = 0;
 
 	if (f->i_acl_default) {
 		rc = __jffs2_set_acl(inode, JFFS2_XPREFIX_ACL_DEFAULT, f->i_acl_default);
Signature · 1 line
May the Source Be With You.