dataP->value.asBuffer.buffer = (uint8_t *)lwm2m_malloc(bufferLen);
if (dataP->value.asBuffer.buffer == NULL)
{
- lwm2m_data_free(1, dataP);
return 0;
}
dataP->value.asBuffer.length = bufferLen;
lwm2m_media_type_t format,
lwm2m_data_t ** dataP)
{
+ int res;
+
LOG_ARG("format: %s, bufferLen: %d", STR_MEDIA_TYPE(format), bufferLen);
LOG_URI(uriP);
switch (format)
if (*dataP == NULL) return 0;
(*dataP)->id = uriP->resourceId;
(*dataP)->type = LWM2M_TYPE_STRING;
- return prv_setBuffer(*dataP, buffer, bufferLen);
+ res = prv_setBuffer(*dataP, buffer, bufferLen);
+ if (res == 0)
+ {
+ lwm2m_data_free(1, *dataP);
+ *dataP = NULL;
+ }
+ return res;
case LWM2M_CONTENT_OPAQUE:
if (!LWM2M_URI_IS_SET_RESOURCE(uriP)) return 0;
if (*dataP == NULL) return 0;
(*dataP)->id = uriP->resourceId;
(*dataP)->type = LWM2M_TYPE_OPAQUE;
- return prv_setBuffer(*dataP, buffer, bufferLen);
+ res = prv_setBuffer(*dataP, buffer, bufferLen);
+ if (res == 0)
+ {
+ lwm2m_data_free(1, *dataP);
+ *dataP = NULL;
+ }
+ return res;
#ifdef LWM2M_OLD_CONTENT_FORMAT_SUPPORT
case LWM2M_CONTENT_TLV_OLD:
fprintf(stdout, "Adding object 1024 failed: ");
print_status(stdout, res);
fprintf(stdout, "\r\n");
+ free_test_object(objectP);
}
else
{
fprintf(stdout, "Object 1024 added.\r\n");
+ objArray[5] = objectP;
}
return;
}
lwm2mH = (lwm2m_context_t *)user_data;
int res;
+ lwm2m_object_t * objectP;
+ objectP = (lwm2m_object_t *)LWM2M_LIST_FIND(lwm2mH->objectList, 1024);
res = lwm2m_remove_object(lwm2mH, 1024);
if (res != 0)
{
else
{
fprintf(stdout, "Object 1024 removed.\r\n");
+ free_test_object(objectP);
+ objArray[5] = NULL;
}
return;
}
format = LWM2M_CONTENT_TLV;
temp_length = lwm2m_data_serialize(NULL, 1, dataP, &format, &temp_buffer);
+ lwm2m_data_free(1, dataP);
}
/* End Client dependent part*/
//Create
result = lwm2m_dm_create(lwm2mH, clientId, &uri, format, temp_buffer, temp_length, prv_result_callback, NULL);
+ if (temp_buffer != NULL)
+ {
+ lwm2m_free(temp_buffer);
+ }
+
if (result == 0)
{
fprintf(stdout, "OK");