X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fafb-subcall.c;h=3c75b179fee1a292dca1bf3de950de9bd42dde1d;hb=c6380108964e71f533d8c672bb9c217020a95e8d;hp=ef114077e5d5dcb0783a1287655722e714284f55;hpb=a86967decc0ff9b139f412fffccc7914e27a80a9;p=src%2Fapp-framework-binder.git diff --git a/src/afb-subcall.c b/src/afb-subcall.c index ef114077..3c75b179 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" @@ -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); } }