resHandle is being freed twice once in DeleteClientCB and once
in OICFree(resHandle) in OCDoRequest in exit condition.
So freeing resHandle only if clientCB is NULL
https://github.sec.samsung.net/RS7-IOTIVITY/IoTivity/pull/532/commits/
b63e8200da46aa3e5505288bcf284568798a6069
(cherry-picked from
b63e8200da46aa3e5505288bcf284568798a6069)
Change-Id: I486cfb9038524292be6d311302719e36fce5aaa4
Signed-off-by: sourav bhuwalka <s.bhuwalka@samsung.com>
Signed-off-by: Sudipto Bal <sudipto.bal@samsung.com>
{
cbData->cd(cbData->context);
}
- FindAndDeleteClientCB(clientCB);
- CADestroyToken(token);
+ if (!clientCB) // token and resHandle associated with clientCB
+ {
+ CADestroyToken(token);
+ OICFree(resHandle);
+ }
+ else
+ {
+ FindAndDeleteClientCB(clientCB);
+ }
if (handle)
{
*handle = NULL;
}
- OICFree(resHandle);
}
OICFree(requestInfo.info.payload);