mirror of
https://github.com/systemd/systemd-stable.git
synced 2024-12-24 21:34:08 +03:00
rm-rf: fix up chmod in the _cleanup_ rm_rf() destructors
REMOVE_CHMOD is necessary to remove files/dirs that are owned by us but have an access mode that would not allow us to remove them. In generic destructor calls for use with `_cleanup_` that are "fire-and-forget" style we should make use of that, to maximize the chance we can actually remove the files/dirs. (Also, add in REMOVE_MISSING_OK. Just because prettier, we ignore the return codes anyway, but it' a bit nicer to ignore a bit fewer errors.)
This commit is contained in:
parent
44a8ad7a24
commit
4d930e87ee
@ -24,7 +24,7 @@ static inline char *rm_rf_physical_and_free(char *p) {
|
||||
if (!p)
|
||||
return NULL;
|
||||
|
||||
(void) rm_rf(p, REMOVE_ROOT|REMOVE_PHYSICAL);
|
||||
(void) rm_rf(p, REMOVE_ROOT|REMOVE_PHYSICAL|REMOVE_MISSING_OK|REMOVE_CHMOD);
|
||||
free(p);
|
||||
return NULL;
|
||||
}
|
||||
@ -37,7 +37,7 @@ static inline char *rm_rf_subvolume_and_free(char *p) {
|
||||
if (!p)
|
||||
return NULL;
|
||||
|
||||
(void) rm_rf(p, REMOVE_ROOT|REMOVE_PHYSICAL|REMOVE_SUBVOLUME);
|
||||
(void) rm_rf(p, REMOVE_ROOT|REMOVE_PHYSICAL|REMOVE_SUBVOLUME|REMOVE_MISSING_OK|REMOVE_CHMOD);
|
||||
free(p);
|
||||
return NULL;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user