clone->info.numOptions = 0;
}
- if (NULL != rep->info.payload)
+ if (NULL != rep->info.payload && 0 < rep->info.payloadSize)
{
// allocate payload field
uint8_t *temp = OICMalloc(rep->info.payloadSize);
// save the payload
clone->info.payload = temp;
}
+ else
+ {
+ clone->info.payload = NULL;
+ clone->info.payloadSize = 0;
+ }
if (NULL != rep->info.resourceUri)
{
clone->info.numOptions = 0;
}
- if (NULL != rep->info.payload)
+ if (NULL != rep->info.payload && 0 < rep->info.payloadSize)
{
// allocate payload field
uint8_t *temp = (uint8_t *) OICMalloc(rep->info.payloadSize);
// save the payload
clone->info.payload = temp;
}
+ else
+ {
+ clone->info.payload = NULL;
+ clone->info.payloadSize = 0;
+ }
if (NULL != rep->info.resourceUri)
{
info->options = NULL;
info->numOptions = 0;
-
// free payload field
OICFree((char *) info->payload);
info->payload = NULL;
memcpy(clone->options, info->options, sizeof(CAHeaderOption_t) * info->numOptions);
}
- if (info->payload)
+ if (info->payload && 0 < info->payloadSize)
{
// allocate payload field
uint8_t *temp = OICMalloc(info->payloadSize);
// save the payload
clone->payload = temp;
}
+ else
+ {
+ clone->payload = NULL;
+ clone->payloadSize = 0;
+ }
if (info->resourceUri)
{
if (enabledPayload || CA_ADAPTER_GATT_BTLE == endpoint->adapter)
{
- if (NULL != info->payload)
+ if (NULL != info->payload && 0 < info->payloadSize)
{
OIC_LOG(DEBUG, TAG, "payload is added");
coap_add_data(pdu, info->payloadSize, (const unsigned char *) info->payload);