projects
/
project
/
procd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Reboot busybox style via procd
[project/procd.git]
/
service
/
validate.c
diff --git
a/service/validate.c
b/service/validate.c
index
ca9bb39
..
a33a48e
100644
(file)
--- a/
service/validate.c
+++ b/
service/validate.c
@@
-13,6
+13,7
@@
#include <libubox/blobmsg_json.h>
#include <libubox/avl-cmp.h>
#include <libubox/blobmsg_json.h>
#include <libubox/avl-cmp.h>
+#include <json/json.h>
#include "../procd.h"
#include "../procd.h"
@@
-66,6
+67,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_object_add(t, vr->option, json_object_new_string(vr->rule));
}
blobmsg_add_object(b, r);
+ json_object_put(r);
}
void
}
void
@@
-100,10
+102,9
@@
service_validate_del(struct service *s)
list_for_each_entry_safe(v, n, &s->validators, list) {
struct vrule *vr, *a;
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);
free(vr);
- }
+
avl_delete(&validators, &v->avl);
list_del(&v->list);
free(v);
avl_delete(&validators, &v->avl);
list_del(&v->list);
free(v);