jsonObj = cJSON_GetObjectItem(jsonCred, OIC_JSON_OWNERS_NAME);
VERIFY_NON_NULL(TAG, jsonObj, ERROR);
VERIFY_SUCCESS(TAG, cJSON_Array == jsonObj->type, ERROR);
- cred->ownersLen = cJSON_GetArraySize(jsonObj);
+ cred->ownersLen = (size_t)cJSON_GetArraySize(jsonObj);
VERIFY_SUCCESS(TAG, cred->ownersLen > 0, ERROR);
cred->owners = (OicUuid_t*)OICCalloc(cred->ownersLen, sizeof(OicUuid_t));
VERIFY_NON_NULL(TAG, (cred->owners), ERROR);
static OCStackResult GetCertCredPublicData(CADtlsX509Creds_t *credInfo, OicSecCred_t *cred)
{
OCStackResult ret = OC_STACK_ERROR;
+ cJSON *jsonRoot = NULL;
+
VERIFY_NON_NULL(TAG, credInfo, ERROR);
VERIFY_NON_NULL(TAG, cred, ERROR);
VERIFY_NON_NULL(TAG, cred->publicData.data, ERROR);
//VERIFY_SUCCESS(TAG, NULL == credInfo->certificateChain.data, ERROR);
- cJSON *jsonRoot = cJSON_Parse(cred->publicData.data);
+ jsonRoot = cJSON_Parse(cred->publicData.data);
VERIFY_NON_NULL(TAG, jsonRoot, ERROR);
//Get certificate chain
cJSON *jsonObj = cJSON_GetObjectItem(jsonRoot, CERTIFICATE);//TODO define field names constants
VERIFY_SUCCESS(TAG, NULL != jsonObj && cJSON_Array == jsonObj->type, ERROR);
- size_t certChainLen = cJSON_GetArraySize(jsonObj);
+ size_t certChainLen = (size_t)cJSON_GetArraySize(jsonObj);
credInfo->chainLen = certChainLen;
VERIFY_SUCCESS(TAG, MAX_CHAIN_LEN >= certChainLen, ERROR);
for (size_t i = 0; i < certChainLen; ++i)
{
cJSON *item = cJSON_GetArrayItem(jsonObj, i);
+ VERIFY_NON_NULL(TAG, item, ERROR);
VERIFY_SUCCESS(TAG, cJSON_String == item->type, ERROR);
uint32_t appendedLen = appendCert2Chain(credInfo->certificateChain + len, item->valuestring,
MAX_CERT_MESSAGE_LEN - len);
static OCStackResult GetCertCredPrivateData(CADtlsX509Creds_t *credInfo, OicSecCred_t *cred)
{
OCStackResult ret = OC_STACK_ERROR;
+ cJSON *jsonRoot = NULL;
VERIFY_NON_NULL(TAG, credInfo, ERROR);
VERIFY_NON_NULL(TAG, cred, ERROR);
VERIFY_NON_NULL(TAG, cred->privateData.data, ERROR);
- cJSON *jsonRoot = cJSON_Parse(cred->privateData.data);
+ jsonRoot = cJSON_Parse(cred->privateData.data);
VERIFY_NON_NULL(TAG, jsonRoot, ERROR);
cJSON *jsonObj = cJSON_GetObjectItem(jsonRoot, PRIVATE_KEY);//TODO define field names constants
//ThisUpdate -- Mandatory
outLen = 0;
- base64CRLLen = B64ENCODE_OUT_SAFESIZE(crl->ThisUpdate.len);
+ base64CRLLen = (uint32_t)B64ENCODE_OUT_SAFESIZE(crl->ThisUpdate.len);
base64Buff = OICMalloc(base64CRLLen);
b64Ret = b64Encode(crl->ThisUpdate.data, crl->ThisUpdate.len, base64Buff,
base64CRLLen, &outLen);
//CRLData -- Mandatory
outLen = 0;
- base64CRLLen = B64ENCODE_OUT_SAFESIZE(crl->CrlData.len);
+ base64CRLLen = (uint32_t)B64ENCODE_OUT_SAFESIZE(crl->CrlData.len);
base64Buff = OICMalloc(base64CRLLen);
b64Ret = b64Encode(crl->CrlData.data, crl->CrlData.len, base64Buff,
base64CRLLen, &outLen);
else // PUT/POST JSON will not have ThisUpdate so set it to the gCRList->ThisUpdate
{
VERIFY_NON_NULL(TAG, gCrl, ERROR);
- outLen = gCrl->ThisUpdate.len;
+ outLen = (uint32_t)gCrl->ThisUpdate.len;
crl->ThisUpdate.data = OICMalloc(outLen + 1);
memcpy(crl->ThisUpdate.data, gCrl->ThisUpdate.data, outLen);
crl->ThisUpdate.len = outLen;
else // PUT/POST JSON will not have CRLData so set it to the gCRList->CRLData
{
VERIFY_NON_NULL(TAG, gCrl, ERROR);
- outLen = gCrl->CrlData.len;
+ outLen = (uint32_t)gCrl->CrlData.len;
crl->CrlData.data = OICMalloc(outLen + 1);
memcpy(crl->CrlData.data, gCrl->CrlData.data, outLen);
crl->CrlData.len = outLen;
cJSON *jsonObj = cJSON_Parse(jsonCRL);
OicSecCrl_t *crl = NULL;
crl = JSONToCrlBin(jsonCRL);
- if (!crl)
- {
- OIC_LOG(ERROR, TAG, "Error JSONToCrlBin");
- }
+ VERIFY_NON_NULL(TAG, crl, ERROR);
gCrl->CrlId = crl->CrlId;
}
DeleteCrlBinData(crl);
- cJSON_Delete(jsonObj);
+ exit:
+ cJSON_Delete(jsonObj);
}
// Send payload to request originator