X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=resource%2Fcsdk%2Fsecurity%2Fsrc%2Fpconfresource.c;h=da0b9c0c91a9889e89d5d30a237fe5f7b1297293;hb=refs%2Ftags%2Ftizen_4.0.m2_release;hp=b216e62049f9bef9713899e08495c0a06dcddba5;hpb=67d918f8e396c5642f8026a445fdf7c9bfb5205d;p=platform%2Fupstream%2Fiotivity.git diff --git a/resource/csdk/security/src/pconfresource.c b/resource/csdk/security/src/pconfresource.c index b216e62..da0b9c0 100644 --- a/resource/csdk/security/src/pconfresource.c +++ b/resource/csdk/security/src/pconfresource.c @@ -25,9 +25,14 @@ #include "logger.h" #include "oic_malloc.h" #include "oic_string.h" +#if defined (__TIZENRT__) +#include +#else #include "cJSON.h" +#endif #include "base64.h" #include "ocpayload.h" +#include "ocpayloadcbor.h" #include "payload_logging.h" #include "resourcemanager.h" #include "pconfresource.h" @@ -37,14 +42,13 @@ #include "doxmresource.h" #include "srmutility.h" #include "ocserverrequest.h" -#include #include "psinterface.h" #include "security_internals.h" #ifdef HAVE_STRINGS_H #include #endif -#define TAG "SRM-PCONF" +#define TAG "OIC_SRM_PCONF" static const uint16_t CBOR_SIZE = 1024; static const uint64_t CBOR_MAX_SIZE = 4400; @@ -426,7 +430,7 @@ OCStackResult PconfToCBORPayload(const OicSecPconf_t *pconf,uint8_t **payload,si cborEncoderResult = cbor_encoder_close_container(&encoder, &pconfMap); VERIFY_CBOR_SUCCESS(TAG, cborEncoderResult, "Failed to close pconfMap"); - *size = encoder.ptr - outPayload; + *size = cbor_encoder_get_buffer_size(&encoder, outPayload); *payload = outPayload; ret = OC_STACK_OK; exit: @@ -435,7 +439,7 @@ exit: // reallocate and try again! OICFree(outPayload); // Since the allocated initial memory failed, double the memory. - cborLen += encoder.ptr - encoder.end; + cborLen += cbor_encoder_get_buffer_size(&encoder, encoder.end); cborEncoderResult = CborNoError; ret = PconfToCBORPayload(pconf, payload, &cborLen); *size = cborLen; @@ -818,6 +822,7 @@ static OCEntityHandlerResult HandlePconfGetRequest (const OCEntityHandlerRequest { uint8_t* payload = NULL; size_t size = 0; + const OicSecDoxm_t *m_doxm = NULL; OCEntityHandlerResult ehRet = OC_EH_OK; OicSecPconf_t pconf; @@ -825,7 +830,13 @@ static OCEntityHandlerResult HandlePconfGetRequest (const OCEntityHandlerRequest OIC_LOG (DEBUG, TAG, "Pconf EntityHandle processing GET request"); - if (true == GetDoxmResourceData()->dpc) + m_doxm = GetDoxmResourceData(); + if (NULL == m_doxm) + { + OIC_LOG (DEBUG, TAG, "Doxm resource Data is NULL"); + } + + if ((m_doxm) && (true == m_doxm->dpc)) { //Making response elements for Get request if( (true == gPconf->edp) && @@ -892,7 +903,7 @@ static OCEntityHandlerResult HandlePconfPostRequest (const OCEntityHandlerReques OCStackResult res=OC_STACK_OK; OicSecPconf_t* newPconf = NULL; - if (true == GetDoxmResourceData()->dpc) + if (NULL != GetDoxmResourceData() && true == GetDoxmResourceData()->dpc) { // Convert CBOR PCONF data into binary. This will also validate the PCONF data received. uint8_t *payload = ((OCSecurityPayload *) ehRequest->payload)->securityData;