From: Lukasz Bardeli Date: Thu, 5 Oct 2017 09:12:24 +0000 (+0200) Subject: [Iotcon] Prevent posible crash. X-Git-Tag: submit/tizen_4.0/20171011.122933^2~5^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7d553b6906feb5205c93da6e3ed0428a3d2c1edd;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git [Iotcon] Prevent posible crash. [Feature] If Timeout was returned then it is possible to call RemoteResourceResponseCallback again. In this case data is deleted, but not set to null. Call data->fun causes crash. [Verification] Code compiles without error. Auto tests 100% passrate. Change-Id: I07a3d1e38c933506620184f811b571d60e4b59fd Signed-off-by: Lukasz Bardeli --- diff --git a/src/iotcon/iotcon_instance.cc b/src/iotcon/iotcon_instance.cc index 9b31a3ea..88cea7b4 100644 --- a/src/iotcon/iotcon_instance.cc +++ b/src/iotcon/iotcon_instance.cc @@ -53,7 +53,12 @@ void RemoteResourceResponseCallback(iotcon_remote_resource_h resource, iotcon_er void* user_data) { ScopeLogger(); - std::unique_ptr data{static_cast(user_data)}; + auto deleter = [](CallbackData* data) { + delete data; + data = nullptr; + }; + std::unique_ptr data{static_cast(user_data), + deleter}; if (data) { picojson::value value{picojson::object{}};