• Jesper Juhl's avatar
    btrfs: Don't pass NULL ptr to func that may deref it. · ff175d57
    Jesper Juhl authored
    Hi,
    
    In fs/btrfs/inode.c::fixup_tree_root_location() we have this code:
    
    ...
     		if (!path) {
     			err = -ENOMEM;
     			goto out;
     		}
    ...
     	out:
     		btrfs_free_path(path);
     		return err;
    
    btrfs_free_path() passes its argument on to other functions and some of
    them end up dereferencing the pointer.
    In the code above that pointer is clearly NULL, so btrfs_free_path() will
    eventually cause a NULL dereference.
    
    There are many ways to cut this cake (fix the bug). The one I chose was to
    make btrfs_free_path() deal gracefully with NULL pointers. If you
    disagree, feel free to come up with an alternative patch.
    Signed-off-by: default avatarJesper Juhl <jj@chaosbits.net>
    Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
    ff175d57
ctree.c 115 KB