Fix 64bit build error for tizen dlog print format
[platform/upstream/iotivity.git] / resource / csdk / security / src / credresource.c
index ad0e8b7..0bdaa5f 100644 (file)
@@ -1169,7 +1169,7 @@ OicSecCred_t * GenerateCredential(const OicUuid_t * subject, OicSecCredType_t cr
     OIC_LOG_BUFFER(DEBUG, TAG, cred->subject.id, sizeof(cred->subject.id));
     if (cred->privateData.data)
     {
-        OIC_LOG_V(DEBUG, TAG, "GenerateCredential : privateData len: %lu", cred->privateData.len);
+        OIC_LOG_V(DEBUG, TAG, "GenerateCredential : privateData len: %zd", cred->privateData.len);
         OIC_LOG_BUFFER(DEBUG, TAG, cred->privateData.data, cred->privateData.len);
     }
 #if defined(__WITH_DTLS__) || defined(__WITH_TLS__)
@@ -1179,13 +1179,13 @@ OicSecCred_t * GenerateCredential(const OicUuid_t * subject, OicSecCredType_t cr
     }
     if (cred->publicData.data)
     {
-        OIC_LOG_V(DEBUG, TAG, "GenerateCredential : publicData len: %lu", cred->publicData.len);
+        OIC_LOG_V(DEBUG, TAG, "GenerateCredential : publicData len: %zd", cred->publicData.len);
         OIC_LOG_BUFFER(DEBUG, TAG, cred->publicData.data, cred->publicData.len);
 
     }
     if (cred->optionalData.data)
     {
-        OIC_LOG_V(DEBUG, TAG, "GenerateCredential : optionalData len: %lu", cred->optionalData.len);
+        OIC_LOG_V(DEBUG, TAG, "GenerateCredential : optionalData len: %zd", cred->optionalData.len);
         OIC_LOG_BUFFER(DEBUG, TAG, cred->optionalData.data, cred->optionalData.len);
         OIC_LOG_V(DEBUG, TAG, "GenerateCredential : optionalData revstat: %d", cred->optionalData.revstat);
     }
@@ -1462,6 +1462,7 @@ OCStackResult AddCredential(OicSecCred_t * newCred)
     }
     else
     {
+        OicSecCred_t *prev = NULL;
         LL_FOREACH(gCred, temp)
         {
             CredCompareResult_t cmpRes = CompareCredential(temp, newCred);
@@ -1470,6 +1471,18 @@ OCStackResult AddCredential(OicSecCred_t * newCred)
                 OIC_LOG_V(WARNING, TAG, "Detected same credential ID(%d)" \
                           "new credential's ID will be replaced.", temp->credId);
                 newCred->credId = temp->credId;
+                newCred->next = temp->next;
+
+                if(NULL == prev)
+                {
+                    gCred = newCred;
+                }
+                else
+                {
+                    prev->next = newCred;
+                }
+
+                FreeCred(temp);
                 ret = OC_STACK_OK;
                 validFlag = false;
                 break;
@@ -1482,6 +1495,8 @@ OCStackResult AddCredential(OicSecCred_t * newCred)
                 validFlag = false;
                 break;
             }
+
+            prev = temp;
         }
     }