service: register the subscriber object before the event handler
[project/procd.git] / service / validate.c
index ca9bb39..3312d1d 100644 (file)
@@ -66,6 +66,7 @@ service_validate_dump_all(struct blob_buf *b, char *p, char *s)
                        json_object_object_add(t, vr->option, json_object_new_string(vr->rule));
        }
        blobmsg_add_object(b, r);
+       json_object_put(r);
 }
 
 void
@@ -100,10 +101,9 @@ service_validate_del(struct service *s)
         list_for_each_entry_safe(v, n, &s->validators, list) {
                struct vrule *vr, *a;
 
-               avl_for_each_element_safe(&v->rules, vr, avl, a) {
-                       avl_delete(&v->rules, &vr->avl);
+               avl_remove_all_elements(&v->rules, vr, avl, a)
                        free(vr);
-               }
+
                avl_delete(&validators, &v->avl);
                list_del(&v->list);
                free(v);