chiark / gitweb /
paranoia: refuse rm_rf("/")
[elogind.git] / src / tmpfiles / tmpfiles.c
index 841d1635239e25a81fc596c99dadb594be013f4d..e0b0e94664622306fd95fda4432d52ca68735c15 100644 (file)
@@ -469,7 +469,7 @@ static int item_set_perms(Item *i, const char *path) {
                         return -errno;
                 }
 
-        return label_fix(path, false);
+        return label_fix(path, false, false);
 }
 
 static int recursive_relabel_children(Item *i, const char *path) {
@@ -843,6 +843,8 @@ static int remove_item_instance(Item *i, const char *instance) {
 
         case TRUNCATE_DIRECTORY:
         case RECURSIVE_REMOVE_PATH:
+                /* FIXME: we probably should use dir_cleanup() here
+                 * instead of rm_rf() so that 'x' is honoured. */
                 r = rm_rf(instance, false, i->type == RECURSIVE_REMOVE_PATH, false);
                 if (r < 0 && r != -ENOENT) {
                         log_error("rm_rf(%s): %s", instance, strerror(-r));