diff options
Diffstat (limited to 'fs/hfs/dir.c')
-rw-r--r-- | fs/hfs/dir.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/fs/hfs/dir.c b/fs/hfs/dir.c index 5f7f1abd5f6d..e1c80482a292 100644 --- a/fs/hfs/dir.c +++ b/fs/hfs/dir.c | |||
@@ -25,7 +25,9 @@ static struct dentry *hfs_lookup(struct inode *dir, struct dentry *dentry, | |||
25 | struct inode *inode = NULL; | 25 | struct inode *inode = NULL; |
26 | int res; | 26 | int res; |
27 | 27 | ||
28 | hfs_find_init(HFS_SB(dir->i_sb)->cat_tree, &fd); | 28 | res = hfs_find_init(HFS_SB(dir->i_sb)->cat_tree, &fd); |
29 | if (res) | ||
30 | return ERR_PTR(res); | ||
29 | hfs_cat_build_key(dir->i_sb, fd.search_key, dir->i_ino, &dentry->d_name); | 31 | hfs_cat_build_key(dir->i_sb, fd.search_key, dir->i_ino, &dentry->d_name); |
30 | res = hfs_brec_read(&fd, &rec, sizeof(rec)); | 32 | res = hfs_brec_read(&fd, &rec, sizeof(rec)); |
31 | if (res) { | 33 | if (res) { |
@@ -63,7 +65,9 @@ static int hfs_readdir(struct file *filp, void *dirent, filldir_t filldir) | |||
63 | if (filp->f_pos >= inode->i_size) | 65 | if (filp->f_pos >= inode->i_size) |
64 | return 0; | 66 | return 0; |
65 | 67 | ||
66 | hfs_find_init(HFS_SB(sb)->cat_tree, &fd); | 68 | err = hfs_find_init(HFS_SB(sb)->cat_tree, &fd); |
69 | if (err) | ||
70 | return err; | ||
67 | hfs_cat_build_key(sb, fd.search_key, inode->i_ino, NULL); | 71 | hfs_cat_build_key(sb, fd.search_key, inode->i_ino, NULL); |
68 | err = hfs_brec_find(&fd); | 72 | err = hfs_brec_find(&fd); |
69 | if (err) | 73 | if (err) |