From 2cb9b4dbbd21585253a3dc314e91418ff3a9bb68 Mon Sep 17 00:00:00 2001 From: Neil Horman Date: Thu, 3 Dec 2015 13:45:44 -0500 Subject: btrfs: only free root_path if it was allocated from the heap Noticed this while doing some snapshots in a chroot environment btrfs receive can set root_path to either realmnt, which is passed in from the command line, or to a heap allocated via find_mount_root in do_receive. We should only free the later, not the former, as the former results in an invalid pointer warning from glibc during free. Signed-off-by: Neil Horman CC: Josef Bacik Signed-off-by: David Sterba --- cmds-receive.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'cmds-receive.c') diff --git a/cmds-receive.c b/cmds-receive.c index 3a84a3bf..c25dc59e 100644 --- a/cmds-receive.c +++ b/cmds-receive.c @@ -1201,7 +1201,9 @@ out: close(r->write_fd); r->write_fd = -1; } - free(r->root_path); + + if (r->root_path != realmnt) + free(r->root_path); r->root_path = NULL; r->dest_dir_path = NULL; free(dest_dir_full_path); -- cgit v1.2.3