case PAYLOAD_TYPE_DISCOVERY:
OCDiscoveryPayloadDestroy((OCDiscoveryPayload*)payload);
break;
+#ifdef WITH_PRESENCE
case PAYLOAD_TYPE_PRESENCE:
OCPresencePayloadDestroy((OCPresencePayload*)payload);
break;
+#endif
case PAYLOAD_TYPE_SECURITY:
OCSecurityPayloadDestroy((OCSecurityPayload*)payload);
break;
if (val->type == OCREP_PROP_STRING)
{
- OICFree(val->str);
+ if (val->str != NULL)
+ {
+ OICFree(val->str);
+ }
}
else if (val->type == OCREP_PROP_BYTE_STRING)
{
OICFree(val->arr.iArray);
break;
case OCREP_PROP_STRING:
- for(size_t i = 0; i < dimTotal; ++i)
+ if (val->arr.strArray != NULL)
{
- OICFree(val->arr.strArray[i]);
+ for(size_t i = 0; i < dimTotal; ++i)
+ {
+ OICFree(val->arr.strArray[i]);
+ }
+ OICFree(val->arr.strArray);
}
- OICFree(val->arr.strArray);
break;
case OCREP_PROP_BYTE_STRING:
- for (size_t i = 0; i < dimTotal; ++i)
+ if (val->arr.ocByteStrArray != NULL)
{
- if (val->arr.ocByteStrArray[i].bytes)
+ for (size_t i = 0; i < dimTotal; ++i)
{
- OICFree(val->arr.ocByteStrArray[i].bytes);
+ if (val->arr.ocByteStrArray[i].bytes)
+ {
+ OICFree(val->arr.ocByteStrArray[i].bytes);
+ }
}
+ OICFree(val->arr.ocByteStrArray);
}
- OICFree(val->arr.ocByteStrArray);
break;
case OCREP_PROP_OBJECT: // This case is the temporary fix for string input
- for(size_t i = 0; i< dimTotal; ++i)
+ if (val->arr.objArray != NULL)
{
- OCRepPayloadDestroy(val->arr.objArray[i]);
+ for(size_t i = 0; i< dimTotal; ++i)
+ {
+ OCRepPayloadDestroy(val->arr.objArray[i]);
+ }
+ OICFree(val->arr.objArray);
}
- OICFree(val->arr.objArray);
break;
case OCREP_PROP_NULL:
case OCREP_PROP_ARRAY:
else
{
value->data = val.bytes;
- value->len = strlen(val.bytes);
+ value->len = strlen((char *)val.bytes);
}
}
else
{
break;
}
- iter = (OCStringLL *)OICCalloc(1,sizeof(OCStringLL));
+ iter = (OCStringLL *)OICCalloc(1, sizeof(OCStringLL));
VERIFY_PARAM_NON_NULL(TAG, iter, "Failed allocating memory");
if (!result)
{
iter->value = OICStrdup(token);
VERIFY_PARAM_NON_NULL(TAG, iter->value, "Failed allocating memory");
prev = iter;
- iter = iter->next;
}
OICFree(backup);
return result;
}
OICFree(payload->sid);
OICFree(payload->baseURI);
- OICFree(payload->uri);
OCFreeOCStringLL(payload->type);
OICFree(payload->name);
OCFreeOCStringLL(payload->iface);
OICFree(payload);
}
+#ifdef WITH_PRESENCE
OCPresencePayload* OCPresencePayloadCreate(uint32_t seqNum, uint32_t maxAge,
OCPresenceTrigger trigger, const char* resourceType)
{
OICFree(payload->resourceType);
OICFree(payload);
}
+#endif // WITH_PRESENCE
\ No newline at end of file