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