]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
Check for final assignments in RUN keys (#12309)
authorFlorian Dollinger <atar-axis@users.noreply.github.com>
Mon, 15 Apr 2019 06:59:36 +0000 (08:59 +0200)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Mon, 15 Apr 2019 06:59:36 +0000 (15:59 +0900)
As described in #12291

src/udev/udev-rules.c

index ee87d7c65c72b3244325c1b131a2176f118eb43c..63a967633b7e3d5740d22828995633e099c4a136 100644 (file)
@@ -2442,6 +2442,11 @@ int udev_rules_apply_to_event(
                 case TK_A_RUN_BUILTIN:
                 case TK_A_RUN_PROGRAM: {
                         _cleanup_free_ char *cmd = NULL;
+                        
+                        if (event->run_final)
+                                break;
+                        if (cur->key.op == OP_ASSIGN_FINAL)
+                                event->run_final = true;
 
                         if (IN_SET(cur->key.op, OP_ASSIGN, OP_ASSIGN_FINAL))
                                 ordered_hashmap_clear_free_key(event->run_list);