btrfs-progs: prevent incorrect use of subvol_strip_mountpoint
authorAxel Burri <axel@tty0.ch>
Sat, 17 Feb 2018 15:05:34 +0000 (16:05 +0100)
committerDavid Sterba <dsterba@suse.com>
Mon, 19 Feb 2018 18:07:02 +0000 (19:07 +0100)
commitc5dc299aff6b4ee3e3490a046fcf9bf8d1c41af5
tree1a012fe003ac1f25efd792aea6e50048318b2a11
parentd62bd380797d3a990b2229ea6c16956972f7dfe0
btrfs-progs: prevent incorrect use of subvol_strip_mountpoint

Add additional bound checks to prevent memory corruption on incorrect
usage of subvol_strip_mountpoint. Assert sane return value by properly
comparing the mount point to the full_path before stripping it off.

Mitigates issue: "btrfs send -p" fails if source and parent subvolumes
are on different mountpoints (memory corruption):

    https://github.com/kdave/btrfs-progs/issues/96

Note that this does not properly fix this bug, but prevents a possible
security issue by unexpected usage of "btrfs send -p".

Issue: #96
Pull-request: #98
Signed-off-by: Axel Burri <axel@tty0.ch>
Signed-off-by: David Sterba <dsterba@suse.com>
utils.c