diff options
author | Yan <yanzheng@21cn.com> | 2007-10-25 15:48:28 -0400 |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2008-09-25 11:03:57 -0400 |
commit | 0d9f7f3e27a92b07212090a1772fdbb3a92fef81 (patch) | |
tree | b8922ebb34225f70b7a51fe53ad1fdd91ae2647b /fs | |
parent | 5708b9591617486bf1aa5b1a97f2c0549ec87933 (diff) | |
download | kernel_samsung_smdk4412-0d9f7f3e27a92b07212090a1772fdbb3a92fef81.zip kernel_samsung_smdk4412-0d9f7f3e27a92b07212090a1772fdbb3a92fef81.tar.gz kernel_samsung_smdk4412-0d9f7f3e27a92b07212090a1772fdbb3a92fef81.tar.bz2 |
btrfs_inode_by_name return random value.
When inode is found, the return value is from the uninitialized
variable 'ret'.
--
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/btrfs/inode.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index c074330..b74a831 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -847,15 +847,16 @@ static int btrfs_inode_by_name(struct inode *dir, struct dentry *dentry, struct btrfs_dir_item *di; struct btrfs_path *path; struct btrfs_root *root = BTRFS_I(dir)->root; - int ret; + int ret = 0; path = btrfs_alloc_path(); BUG_ON(!path); di = btrfs_lookup_dir_item(NULL, root, path, dir->i_ino, name, namelen, 0); + if (IS_ERR(di)) + ret = PTR_ERR(di); if (!di || IS_ERR(di)) { location->objectid = 0; - ret = 0; goto out; } btrfs_dir_item_key_to_cpu(path->nodes[0], di, location); |