service/service_stopped(): fix a use-after-free
[project/procd.git] / service / service.c
index 6ba0c17..72e269d 100644 (file)
@@ -666,9 +666,9 @@ void service_stopped(struct service *s)
                service_event("service.stop", s->name, NULL);
                avl_delete(&services, &s->avl);
                trigger_del(s);
+               service_validate_del(s);
                free(s->trigger);
                free(s);
-               service_validate_del(s);
        }
 }