OCEntityHandlerRequest * request = (OCEntityHandlerRequest*)node->taskData;\r
NSConsumer * consumer = (NSConsumer *)OICMalloc(sizeof(NSConsumer));\r
\r
- char * consumerId = NSGetValueFromQuery(OICStrdup(request->query),\r
- NS_QUERY_CONSUMER_ID);\r
+ char * copyQuery = OICStrdup(request->query);\r
+ char * consumerId = NSGetValueFromQuery(copyQuery, NS_QUERY_CONSUMER_ID);\r
\r
if(consumerId)\r
{\r
OICStrcpy(consumer->consumerId, UUID_STRING_SIZE, consumerId);\r
NSSubscribeRequestCb(consumer);\r
}\r
-\r
+ OICFree(copyQuery);\r
NSFreeConsumer(consumer);\r
NSFreeOCEntityHandlerRequest(request);\r
\r
{\r
NS_LOG(DEBUG, "NSEntityHandlerNotificationCb - OC_REST_GET");\r
\r
- char * reqInterface =\r
- NSGetValueFromQuery(OICStrdup(entityHandlerRequest->query), NS_QUERY_INTERFACE);\r
+ char * copyQuery = OICStrdup(entityHandlerRequest->query);\r
+ char * reqInterface = NSGetValueFromQuery(copyQuery, NS_QUERY_INTERFACE);\r
\r
if (reqInterface && strcmp(reqInterface, NS_INTERFACE_BASELINE) != 0\r
&& strcmp(reqInterface, NS_INTERFACE_READ) != 0)\r
{\r
NS_LOG(ERROR, "Invalid interface");\r
+ OICFree(copyQuery);\r
return ehResult;\r
}\r
\r
+ OICFree(copyQuery);\r
NSPushQueue(SUBSCRIPTION_SCHEDULER, TASK_SEND_POLICY,\r
NSCopyOCEntityHandlerRequest(entityHandlerRequest));\r
\r
{\r
NS_LOG(DEBUG, "NSEntityHandlerMessageCb - OC_REST_GET");\r
\r
- reqInterface =\r
- NSGetValueFromQuery(OICStrdup(entityHandlerRequest->query), NS_QUERY_INTERFACE);\r
+ char * copyQuery = OICStrdup(entityHandlerRequest->query);\r
+ reqInterface = OICStrdup(NSGetValueFromQuery(copyQuery, NS_QUERY_INTERFACE));\r
+ OICFree(copyQuery);\r
\r
if (reqInterface && strcmp(reqInterface, NS_INTERFACE_BASELINE) != 0\r
&& strcmp(reqInterface, NS_INTERFACE_READ) != 0)\r
NS_LOG(ERROR, "Invalid interface");\r
return ehResult;\r
}\r
-\r
ehResult = OC_EH_OK;\r
}\r
else\r
NS_LOG(DEBUG, "NSEntityHandlerMessageCb - OC_OBSERVE_REGISTER");\r
NS_LOG_V(DEBUG, "NSEntityHandlerMessageCb\n"\r
"Register message observerID : %d\n", entityHandlerRequest->obsInfo.obsId);\r
+\r
NSPushQueue(SUBSCRIPTION_SCHEDULER, TASK_RECV_SUBSCRIPTION,\r
NSCopyOCEntityHandlerRequest(entityHandlerRequest));\r
ehResult = OC_EH_OK;\r
}\r
}\r
\r
- NS_LOG(DEBUG, "NSEntityHandlerMessageCb - OUT");\r
- return NSProviderSendResponse(entityHandlerRequest, payload, reqInterface, ehResult,\r
+ ehResult = NSProviderSendResponse(entityHandlerRequest, payload, reqInterface, ehResult,\r
NS_INTERFACE_TYPE_READ, NS_RESOURCE_MESSAGE);\r
+ OICFree(reqInterface);\r
+ NS_LOG(DEBUG, "NSEntityHandlerMessageCb - OUT");\r
+ return ehResult;\r
}\r
\r
OCEntityHandlerResult NSEntityHandlerSyncCb(OCEntityHandlerFlag flag,\r
\r
if (OC_REST_GET == entityHandlerRequest->method)\r
{\r
- reqInterface =\r
- NSGetValueFromQuery(OICStrdup(entityHandlerRequest->query), NS_QUERY_INTERFACE);\r
+\r
+ char * copyQuery = OICStrdup(entityHandlerRequest->query);\r
+ reqInterface = OICStrdup(NSGetValueFromQuery(copyQuery, NS_QUERY_INTERFACE));\r
+ OICFree(copyQuery);\r
\r
if (reqInterface && strcmp(reqInterface, NS_INTERFACE_BASELINE) != 0\r
&& strcmp(reqInterface, NS_INTERFACE_READWRITE) != 0)\r
}\r
\r
NS_LOG(DEBUG, "NSEntityHandlerSyncCb - OUT");\r
- return NSProviderSendResponse(entityHandlerRequest, payload, reqInterface, ehResult,\r
- NS_INTERFACE_TYPE_READWRITE, NS_RESOURCE_SYNC);\r
+\r
+ ehResult = NSProviderSendResponse(entityHandlerRequest, payload, reqInterface, ehResult,\r
+ NS_INTERFACE_TYPE_READ, NS_RESOURCE_MESSAGE);\r
+ OICFree(reqInterface);\r
+\r
+ return ehResult;\r
}\r
\r
OCEntityHandlerResult NSEntityHandlerTopicCb(OCEntityHandlerFlag flag,\r
{\r
NS_LOG(DEBUG, "NSEntityHandlerTopicCb - OC_REST_GET");\r
\r
- reqInterface =\r
- NSGetValueFromQuery(OICStrdup(entityHandlerRequest->query), NS_QUERY_INTERFACE);\r
+ char * copyReq = OICStrdup(entityHandlerRequest->query);\r
+ reqInterface = OICStrdup(NSGetValueFromQuery(copyReq, NS_QUERY_INTERFACE));\r
+ OICFree(copyReq);\r
\r
if (reqInterface && strcmp(reqInterface, NS_INTERFACE_BASELINE) != 0\r
&& strcmp(reqInterface, NS_INTERFACE_READWRITE) != 0)\r
}\r
\r
NS_LOG(DEBUG, "NSEntityHandlerTopicCb - OUT");\r
- return NSProviderSendResponse(entityHandlerRequest, payload, reqInterface, ehResult,\r
+ ehResult = NSProviderSendResponse(entityHandlerRequest, payload, reqInterface, ehResult,\r
NS_INTERFACE_TYPE_READWRITE, NS_RESOURCE_TOPIC);\r
+ OICFree(reqInterface);\r
+ return ehResult;\r
}\r
\r
void NSProviderConnectionStateListener(const CAEndpoint_t * info, bool connected)\r
}\r
\r
NS_LOG(DEBUG, "Update Data - OUT");\r
-\r
+ OICFree(subData);\r
+ OICFree(newObj);\r
pthread_mutex_unlock(&NSCacheMutex);\r
return NS_OK;\r
}\r
\r
NS_LOG_V(DEBUG, "NS Provider ID: %s", NSGetProviderInfo()->providerId);\r
\r
- char * reqInterface =\r
- NSGetValueFromQuery(OICStrdup(entityHandlerRequest->query), NS_QUERY_INTERFACE);\r
+ char * copyReq = OICStrdup(entityHandlerRequest->query);\r
+ char * reqInterface = NSGetValueFromQuery(copyReq, NS_QUERY_INTERFACE);\r
\r
if (reqInterface && strcmp(reqInterface, NS_INTERFACE_BASELINE) == 0)\r
{\r
OCResourcePayloadAddStringLL(&payload->interfaces, NS_INTERFACE_READ);\r
OCResourcePayloadAddStringLL(&payload->types, NS_ROOT_TYPE);\r
}\r
+ OICFree(copyReq);\r
OCRepPayloadSetUri(payload, NS_ROOT_URI);\r
OCRepPayloadSetPropString(payload, NS_ATTRIBUTE_PROVIDER_ID, NSGetProviderInfo()->providerId);\r
OCRepPayloadSetPropString(payload, NS_ATTRIBUTE_VERSION, VERSION);\r
{\r
NS_LOG(DEBUG, "NSHandleSubscription - IN");\r
\r
- char * id = NSGetValueFromQuery(OICStrdup(entityHandlerRequest->query), NS_QUERY_CONSUMER_ID);\r
+ char * copyReq = OICStrdup(entityHandlerRequest->query);\r
+ char * id = NSGetValueFromQuery(copyReq, NS_QUERY_CONSUMER_ID);\r
\r
if(!id)\r
{\r
+ OICFree(copyReq);\r
NSFreeOCEntityHandlerRequest(entityHandlerRequest);\r
NS_LOG(ERROR, "Invalid ConsumerID");\r
return;\r
\r
NSFreeOCEntityHandlerRequest(entityHandlerRequest);\r
}\r
+ OICFree(copyReq);\r
\r
NS_LOG(DEBUG, "NSHandleSubscription - OUT");\r
}\r
return NS_ERROR;\r
}\r
\r
- char * id = NSGetValueFromQuery(OICStrdup(entityHandlerRequest->query), NS_QUERY_CONSUMER_ID);\r
+ char * copyReq = OICStrdup(entityHandlerRequest->query);\r
+ char * id = NSGetValueFromQuery(copyReq, NS_QUERY_CONSUMER_ID);\r
\r
if(!id)\r
{\r
+ OICFree(copyReq);\r
NSFreeOCEntityHandlerRequest(entityHandlerRequest);\r
NS_LOG(ERROR, "Invalid ConsumerID");\r
return NS_ERROR;\r
\r
NSCacheUpdateSubScriptionState(consumerSubList, id, true);\r
NSSendResponse(id, true);\r
+ OICFree(copyReq);\r
NSFreeOCEntityHandlerRequest(entityHandlerRequest);\r
NS_LOG(DEBUG, "NSSendSubscriptionResponse - OUT");\r
return NS_OK;\r
{\r
NS_LOG(DEBUG, "NSSendTopicList - IN");\r
\r
- char * id = NSGetValueFromQuery(OICStrdup(entityHandlerRequest->query), NS_QUERY_CONSUMER_ID);\r
+ char * copyReq = OICStrdup(entityHandlerRequest->query);\r
+ char * id = NSGetValueFromQuery(copyReq, NS_QUERY_CONSUMER_ID);\r
NSTopicLL * topics = NULL;\r
\r
if (!id)\r
if (!payload)\r
{\r
NS_LOG(ERROR, "payload is NULL");\r
+ OICFree(copyReq);\r
return NS_ERROR;\r
}\r
\r
OCRepPayloadSetPropString(payload, NS_ATTRIBUTE_CONSUMER_ID, id);\r
}\r
OCRepPayloadSetPropString(payload, NS_ATTRIBUTE_PROVIDER_ID, NSGetProviderInfo()->providerId);\r
+ OICFree(copyReq);\r
\r
if (topics)\r
{\r
NS_LOG(DEBUG, "topicList is NULL");\r
size_t dimensionSize = (size_t) NSProviderGetTopicListSize(topics);\r
-\r
NS_LOG_V(DEBUG, "dimensionSize = %d", (int)dimensionSize);\r
\r
if (!dimensionSize)\r
sizeof(OCRepPayload *) * dimensionSize);\r
NS_VERIFY_NOT_NULL(payloadTopicArray, NS_ERROR);\r
\r
- size_t dimensions[3] =\r
- { dimensionSize, 0, 0 };\r
+ size_t dimensions[3] = { dimensionSize, 0, 0 };\r
\r
for (int i = 0; i < (int) dimensionSize; i++)\r
{\r
OCRepPayloadSetPropInt(payloadTopicArray[i], NS_ATTRIBUTE_TOPIC_SELECTION,\r
(int) topics->state);\r
\r
- topics = topics->next;\r
+ NSTopicLL * next = topics->next;\r
+ OICFree(topics);\r
+ topics = next;\r
}\r
\r
OCRepPayloadSetPropObjectArray(payload, NS_ATTRIBUTE_TOPIC_LIST,\r
}\r
else\r
{\r
- size_t dimensions[3] =\r
- { 0, 0, 0 };\r
+ size_t dimensions[3] = { 0, 0, 0 };\r
\r
OCRepPayloadSetPropObjectArrayAsOwner(payload, NS_ATTRIBUTE_TOPIC_LIST,\r
(OCRepPayload **) NULL, dimensions);\r
}\r
\r
- char * reqInterface =\r
- NSGetValueFromQuery(OICStrdup(entityHandlerRequest->query), NS_QUERY_INTERFACE);\r
+ copyReq = OICStrdup(entityHandlerRequest->query);\r
+ char * reqInterface = NSGetValueFromQuery(copyReq, NS_QUERY_INTERFACE);\r
\r
if (reqInterface && strcmp(reqInterface, NS_INTERFACE_BASELINE) == 0)\r
{\r
OCResourcePayloadAddStringLL(&payload->interfaces, NS_INTERFACE_READ);\r
OCResourcePayloadAddStringLL(&payload->types, NS_ROOT_TYPE);\r
}\r
+ OICFree(copyReq);\r
\r
response.requestHandle = entityHandlerRequest->requestHandle;\r
response.resourceHandle = entityHandlerRequest->resource;\r