]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
home: move the assert back to the intended place
authorFrantisek Sumsal <frantisek@sumsal.cz>
Mon, 29 May 2023 18:28:34 +0000 (20:28 +0200)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 30 May 2023 01:00:29 +0000 (10:00 +0900)
98d81cf974 moved the assertion at the beginning of home_dispatch_acquire(),
which is however before we even check for any ongoing operation, hence we
might hit it even in legitimate cases.

Let's move it back to after we check for any possibly ongoing operation, to
make it once again a safety check.

Follow-up to 98d81cf974.
Resolves: #22443 and #24036

src/home/homed-home.c

index d16509d57437cc73b3a18b47e26885ad049a0d93..a79a719383852a01b2cc5cd8dceb7a42028ba392 100644 (file)
@@ -2681,8 +2681,6 @@ static int home_dispatch_acquire(Home *h, Operation *o) {
         assert(o);
         assert(o->type == OPERATION_ACQUIRE);
 
-        assert(!h->current_operation);
-
         switch (home_get_state(h)) {
 
         case HOME_UNFIXATED:
@@ -2718,6 +2716,8 @@ static int home_dispatch_acquire(Home *h, Operation *o) {
                 return 0;
         }
 
+        assert(!h->current_operation);
+
         r = home_ratelimit(h, &error);
         if (r >= 0)
                 r = call(h, o->secret, for_state, &error);