Discussion:
jffs2_init_acl_post() can return uninitialized variable
Adrian Bunk
2007-10-27 14:18:42 UTC
Permalink
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
--
"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
WANG Cong
2007-10-27 14:47:45 UTC
Permalink
Fix a may-be-uninitialized return value.

Found-by: Adrian Bunk <***@kernel.org>
Signed-off-by: WANG Cong <***@gmail.com>

---
fs/jffs2/acl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/jffs2/acl.c b/fs/jffs2/acl.c
index 9728614..5b14062 100644
--- a/fs/jffs2/acl.c
+++ b/fs/jffs2/acl.c
@@ -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);
--
May the Source Be With You.
Loading...