[PATCH 5/5] ubifs: check return pointer properly
Lucas Stach
dev at lynxeye.de
Wed Jul 6 12:32:52 PDT 2016
ubifs_iget() returns error codes encoded in the pointer,
so the NULL check will never be true.
Signed-off-by: Lucas Stach <dev at lynxeye.de>
---
fs/ubifs/ubifs.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/fs/ubifs/ubifs.c b/fs/ubifs/ubifs.c
index bc1b521..47eef7c 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;
--
2.7.4
More information about the barebox
mailing list