X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fprocd.git;a=blobdiff_plain;f=service%2Fvalidate.c;h=2e610c7268af6cc86acf0c6e020b6847f85a9d17;hp=ca9bb393c6c3f40e3ff79fcc48982d6d1f7d7ad2;hb=5659c8226cc7b0d09ab255525f8951e35cf6ac2a;hpb=bdbd2ea3fb127c7dfb2f591e4d2ab11a2c106e0a diff --git a/service/validate.c b/service/validate.c index ca9bb39..2e610c7 100644 --- a/service/validate.c +++ b/service/validate.c @@ -100,10 +100,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);