mirror of
https://github.com/systemd/systemd.git
synced 2025-03-08 08:58:27 +03:00
mount-util: don't clobber return value in umount_recursive()
We shouldn't override 'r' with the result of cunescape(), since we use it to return the last error of umount().
This commit is contained in:
parent
867189b545
commit
f8b1904f96
@ -29,8 +29,8 @@
|
||||
#include "strv.h"
|
||||
|
||||
int umount_recursive(const char *prefix, int flags) {
|
||||
bool again;
|
||||
int n = 0, r;
|
||||
bool again;
|
||||
|
||||
/* Try to umount everything recursively below a
|
||||
* directory. Also, take care of stacked mounts, and keep
|
||||
@ -73,9 +73,9 @@ int umount_recursive(const char *prefix, int flags) {
|
||||
continue;
|
||||
}
|
||||
|
||||
r = cunescape(path, UNESCAPE_RELAX, &p);
|
||||
if (r < 0)
|
||||
return r;
|
||||
k = cunescape(path, UNESCAPE_RELAX, &p);
|
||||
if (k < 0)
|
||||
return k;
|
||||
|
||||
if (!path_startswith(p, prefix))
|
||||
continue;
|
||||
@ -95,7 +95,7 @@ int umount_recursive(const char *prefix, int flags) {
|
||||
|
||||
} while (again);
|
||||
|
||||
return r ? r : n;
|
||||
return r < 0 ? r : n;
|
||||
}
|
||||
|
||||
static int get_mount_flags(const char *path, unsigned long *flags) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user