imv-swid: Fixed memory leak in http REST interface

This commit is contained in:
Andreas Steffen
2017-05-29 10:59:22 +02:00
parent 29e1c58643
commit 89f05ed5a9
+19 -17
View File
@@ -70,27 +70,29 @@ METHOD(imv_swid_rest_t, post, status_t,
FETCH_END); FETCH_END);
free(uri); free(uri);
if (status == SUCCESS) if (status != SUCCESS)
{ {
return SUCCESS; if (code != HTTP_STATUS_CODE_PRECONDITION_FAILED || !response.ptr)
} {
DBG2(DBG_IMV, "REST http request failed with status code: %d", code);
if (code != HTTP_STATUS_CODE_PRECONDITION_FAILED || !response.ptr) status = FAILED;
{ }
DBG2(DBG_IMV, "REST http request failed with status code: %d", code); else
return FAILED; {
} if (jresponse)
{
if (jresponse) /* Parse HTTP response into a JSON object */
{ tokener = json_tokener_new();
/* Parse HTTP response into a JSON object */ *jresponse = json_tokener_parse_ex(tokener, response.ptr,
tokener = json_tokener_new(); response.len);
*jresponse = json_tokener_parse_ex(tokener, response.ptr, response.len); json_tokener_free(tokener);
json_tokener_free(tokener); }
status = NEED_MORE;
}
} }
free(response.ptr); free(response.ptr);
return NEED_MORE; return status;
} }
METHOD(imv_swid_rest_t, destroy, void, METHOD(imv_swid_rest_t, destroy, void,