From d54b727a3f55d0238393fd14781e0723df4a9e17 Mon Sep 17 00:00:00 2001 From: "jihwan.seo" Date: Fri, 7 Oct 2016 19:54:44 +0900 Subject: [PATCH] [IOT-1434] Fix memory leak related server request List. when there is no response data for virtual reqeust in server. it should be removed, since it never remove and causes a big memory leak. Change-Id: Ic65692ae8b2c1c27f554f466d00bd0cc1674118f Signed-off-by: jihwan.seo Reviewed-on: https://gerrit.iotivity.org/gerrit/12947 Reviewed-by: Ashok Babu Channa Tested-by: jenkins-iotivity --- resource/csdk/stack/src/ocresource.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/resource/csdk/stack/src/ocresource.c b/resource/csdk/stack/src/ocresource.c index 2f1a964..35fd4be 100755 --- a/resource/csdk/stack/src/ocresource.c +++ b/resource/csdk/stack/src/ocresource.c @@ -852,6 +852,7 @@ static OCStackResult HandleVirtualResource (OCServerRequest *request, OCResource SendDirectStackResponse(&endpoint, request->coapID, CA_EMPTY, CA_MSG_ACKNOWLEDGE, 0, NULL, NULL, 0, NULL, CA_RESPONSE_FOR_RES); } + FindAndDeleteServerRequest(request); // Presence uses observer notification api to respond via SendPresenceNotification. SendPresenceNotification(resource->rsrcType, OC_PRESENCE_TRIGGER_CHANGE); @@ -880,6 +881,8 @@ static OCStackResult HandleVirtualResource (OCServerRequest *request, OCResource { // Ignoring the discovery request as per RFC 7252, Section #8.2 OIC_LOG(INFO, TAG, "Silently ignoring the request since no useful data to send. "); + // the request should be removed. since it never remove and causes a big memory waste. + FindAndDeleteServerRequest(request); } } -- 2.7.4