Imported Upstream version 1.1.0
[platform/upstream/iotivity.git] / resource / csdk / security / provisioning / ck_manager / src / cert_generator.c
index ec9bf74..dd02862 100644 (file)
@@ -111,7 +111,7 @@ PKIError GenerateCertificate (const UTF8String_t *subjectName, const UTF8String_
     CHECK_CALL(GetNextSerialNumber, &serialNumber);
     certificate->tbsCertificate.serialNumber = serialNumber;
     serialNumber++;
-    CHECK_CALL(SetNextSerialNumber, &serialNumber);
+    CHECK_CALL(SetNextSerialNumber, serialNumber);
     CHECK_CALL(SaveCKMInfo);
 
     //set signature algorithm in TBS
@@ -234,7 +234,10 @@ PKIError GenerateCertificate (const UTF8String_t *subjectName, const UTF8String_
             certificate->tbsCertificate.subjectPublicKeyInfo.subjectPublicKey.buf          = NULL;
             certificate->tbsCertificate.signature.algorithm.buf                            = NULL;
             certificate->tbsCertificate.subjectPublicKeyInfo.algorithm.algorithm.buf       = NULL;
-            certificate->tbsCertificate.subjectPublicKeyInfo.algorithm.id_ecPublicKey->buf = NULL;
+            if (certificate->tbsCertificate.subjectPublicKeyInfo.algorithm.id_ecPublicKey)
+            {
+                certificate->tbsCertificate.subjectPublicKeyInfo.algorithm.id_ecPublicKey->buf = NULL;
+            }
             certificate->signatureAlgorithm.algorithm.buf                                  = NULL;
         }
         ASN_STRUCT_FREE(asn_DEF_Certificate, certificate);