diff options
author | Jeremy Kerr <jk@ozlabs.org> | 2013-10-09 16:37:25 +0800 |
---|---|---|
committer | Jeremy Kerr <jk@ozlabs.org> | 2013-10-09 17:22:46 +0800 |
commit | 96eedc649c8c0909a564787afebcfbe0588fd651 (patch) | |
tree | c37fd1117c67b091d82b535ecd8ed645f2899d6f | |
parent | e1248d2838676fe39c4aaa43adf120e630e9d387 (diff) | |
download | talos-petitboot-96eedc649c8c0909a564787afebcfbe0588fd651.tar.gz talos-petitboot-96eedc649c8c0909a564787afebcfbe0588fd651.zip |
discover/device-handler: Fix use-after-free when unmounting
We need to do the rmdir after clearing mount_path.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
-rw-r--r-- | discover/device-handler.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/discover/device-handler.c b/discover/device-handler.c index 04a4484..94abb51 100644 --- a/discover/device-handler.c +++ b/discover/device-handler.c @@ -803,11 +803,12 @@ static int umount_device(struct discover_device *dev) return -1; dev->mounted = false; - talloc_free(dev->mount_path); - dev->mount_path = NULL; pb_rmdir_recursive(mount_base(), dev->mount_path); + talloc_free(dev->mount_path); + dev->mount_path = NULL; + return 0; } |