summaryrefslogtreecommitdiffstats
path: root/fs/ubifs/ubifs.c
diff options
context:
space:
mode:
authorLucas Stach <dev@lynxeye.de>2016-07-06 21:32:52 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2016-07-07 09:45:35 +0200
commit01cbfdfb3f131ba1c8e5286fce5e0c5d482dc569 (patch)
treefd6db59fcad09677a7cc23eba53f716098ef8782 /fs/ubifs/ubifs.c
parentaab6861314ec2c7d3f0b2a735a0e1528c7a47649 (diff)
downloadbarebox-01cbfdfb3f131ba1c8e5286fce5e0c5d482dc569.tar.gz
barebox-01cbfdfb3f131ba1c8e5286fce5e0c5d482dc569.tar.xz
ubifs: check return pointer properly
ubifs_iget() returns error codes encoded in the pointer, so the NULL check will never be true. Signed-off-by: Lucas Stach <dev@lynxeye.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'fs/ubifs/ubifs.c')
-rw-r--r--fs/ubifs/ubifs.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/ubifs/ubifs.c b/fs/ubifs/ubifs.c
index 8062baaa85..7935688ad1 100644
--- a/fs/ubifs/ubifs.c
+++ b/fs/ubifs/ubifs.c
@@ -533,7 +533,7 @@ static unsigned long ubifs_findfile(struct super_block *sb, const char *filename
return 0;
inode = ubifs_iget(sb, inum);
- if (!inode)
+ if (IS_ERR(inode))
return 0;
ui = ubifs_inode(inode);
@@ -1001,7 +1001,7 @@ static int ubifs_open(struct device_d *dev, FILE *file, const char *filename)
return -ENOENT;
inode = ubifs_iget(priv->sb, inum);
- if (!inode)
+ if (IS_ERR(inode))
return -ENOENT;
uf = xzalloc(sizeof(*uf));
@@ -1126,7 +1126,7 @@ static DIR *ubifs_opendir(struct device_d *dev, const char *pathname)
return NULL;
inode = ubifs_iget(priv->sb, inum);
- if (!inode)
+ if (IS_ERR(inode))
return NULL;
ubifs_iput(inode);
@@ -1206,7 +1206,7 @@ static int ubifs_stat(struct device_d *dev, const char *filename, struct stat *s
return -ENOENT;
inode = ubifs_iget(priv->sb, inum);
- if (!inode)
+ if (IS_ERR(inode))
return -ENOENT;
s->st_size = inode->i_size;