From 0e291a9ff5aef406d53b5a324356fc77ddd4b8e7 Mon Sep 17 00:00:00 2001 From: Michael Forney Date: Wed, 27 Mar 2019 19:51:04 -0700 Subject: applyperms: Print when removing directories Also, make sure to remove them relative to rootfd. --- src/applyperms.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/applyperms.c b/src/applyperms.c index b5c10aa2..f21ee4b9 100644 --- a/src/applyperms.c +++ b/src/applyperms.c @@ -173,6 +173,13 @@ mkdir_v(const char *path, mode_t mode) return mkdirat(rootfd, path, mode); } +static int +rmdir_v(const char *path) +{ + printf("rmdir(\"%s\")\n", path); + return unlinkat(rootfd, path, AT_REMOVEDIR); +} + static int defperm(const char *name) { @@ -265,7 +272,7 @@ specialperms(void) /* delete directories in reverse order */ while (i > 0) { --i; - if (oldsp.perms[i].delete && rmdir(oldsp.perms[i].name) < 0) { + if (oldsp.perms[i].delete && rmdir_v(oldsp.perms[i].name) < 0) { switch (errno) { case ENOENT: case ENOTEMPTY: -- cgit v1.2.3