X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fafb-subcall.c;h=4af627475f8751b795c764b882837e87b8f6433a;hb=2bf6bc3dfe6bded000211194a34cdfef599f8140;hp=ef114077e5d5dcb0783a1287655722e714284f55;hpb=a86967decc0ff9b139f412fffccc7914e27a80a9;p=src%2Fapp-framework-binder.git diff --git a/src/afb-subcall.c b/src/afb-subcall.c index ef114077..4af62747 100644 --- a/src/afb-subcall.c +++ b/src/afb-subcall.c @@ -21,7 +21,7 @@ #include #include -#include +#include #include "afb-subcall.h" #include "afb-msg-json.h" @@ -49,11 +49,11 @@ static void subcall_destroy(struct afb_xreq *xreq) free(subcall); } -static void subcall_reply(struct afb_xreq *xreq, int iserror, struct json_object *obj) +static void subcall_reply(struct afb_xreq *xreq, int status, struct json_object *obj) { struct subcall *subcall = CONTAINER_OF_XREQ(struct subcall, xreq); - subcall->callback(subcall->closure, iserror, obj); + subcall->callback(subcall->closure, status, obj); json_object_put(obj); } @@ -94,9 +94,10 @@ void afb_subcall( lenapi = 1 + strlen(api); lenverb = 1 + strlen(verb); subcall = malloc(lenapi + lenverb + sizeof *subcall); - if (subcall == NULL) + if (subcall == NULL) { + json_object_put(args); /* keep args existing */ callback(closure, 1, afb_msg_json_internal_error()); - else { + } else { afb_xreq_init(&subcall->xreq, &afb_subcall_xreq_itf); afb_context_subinit(&subcall->xreq.context, &caller->context); subcall->xreq.cred = afb_cred_addref(caller->cred); @@ -111,7 +112,6 @@ void afb_subcall( subcall->callback = callback; subcall->closure = closure; afb_xreq_addref(caller); - json_object_get(args); /* keep args existing */ afb_xreq_process(&subcall->xreq, caller->apiset); } }