X-Git-Url: http://git.openwrt.org/?p=project%2Fprocd.git;a=blobdiff_plain;f=service%2Fvalidate.c;h=6a449f43bd875d3809aeab707d211cd932291d27;hp=2e610c7268af6cc86acf0c6e020b6847f85a9d17;hb=47d5be7160e33966f5ded484232d10dcc220f172;hpb=5659c8226cc7b0d09ab255525f8951e35cf6ac2a diff --git a/service/validate.c b/service/validate.c index 2e610c7..6a449f4 100644 --- a/service/validate.c +++ b/service/validate.c @@ -13,6 +13,7 @@ #include #include +#include #include "../procd.h" @@ -52,12 +53,12 @@ service_validate_dump_all(struct blob_buf *b, char *p, char *s) if (s && strcmp(s, v->type)) continue; - o = json_object_object_get(r, v->package); + json_object_object_get_ex(r, v->package, &o); if (!o) { o = json_object_new_object(); json_object_object_add(r, v->package, o); } - t = json_object_object_get(o, v->type); + json_object_object_get_ex(o, v->type, &t); if (!t) { t = json_object_new_object(); json_object_object_add(o, v->type, t); @@ -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_put(r); } void