diff options
author | Lucas Stach <dev@lynxeye.de> | 2016-07-06 21:32:52 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2016-07-07 09:45:35 +0200 |
commit | 01cbfdfb3f131ba1c8e5286fce5e0c5d482dc569 (patch) | |
tree | fd6db59fcad09677a7cc23eba53f716098ef8782 /fs/ubifs/ubifs.c | |
parent | aab6861314ec2c7d3f0b2a735a0e1528c7a47649 (diff) | |
download | barebox-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.c | 8 |
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; |