Fix for SVACE issue 84658 34/74734/2
authorDariusz Frankiewicz <d.frankiewic@samsung.com>
Wed, 15 Jun 2016 09:57:47 +0000 (11:57 +0200)
committerHye Kyoung Hwang <cookie@samsung.com>
Thu, 16 Jun 2016 00:56:49 +0000 (17:56 -0700)
Change-Id: Ia58eeb859081738e72f5bbaa520813468a066a6d

services/CertificateService/CertificateContents.cpp

index 37a37b83b11697de0150d872593a681e22b4d998..8abea629ad8437182cb0cfc8c4eb9492e55db53a 100644 (file)
@@ -386,14 +386,16 @@ static const char* _get_formatted_serial_no(ASN1_INTEGER *bs )
     unsigned char* binSerial = nullptr;
     unsigned int outsz;
     outsz = BN_num_bytes(bn);
-    if (BN_is_negative(bn)) {
-        outsz++;
-        if (!(binSerial = (unsigned char* )malloc(outsz))) return 0;
-        BN_bn2bin(bn, binSerial + 1);
-        binSerial[0] = 0x80;
-    } else {
-        if (!(binSerial = (unsigned char* )malloc(outsz))) return 0;
-        BN_bn2bin(bn, binSerial);
+    if(bn){
+        if (BN_is_negative(bn)) {
+            outsz++;
+            if (!(binSerial = (unsigned char* )malloc(outsz))) return 0;
+            BN_bn2bin(bn, binSerial + 1);
+            binSerial[0] = 0x80;
+        } else {
+            if (!(binSerial = (unsigned char* )malloc(outsz))) return 0;
+            BN_bn2bin(bn, binSerial);
+        }
     }
 
     for (size_t i=0; i < outsz; i++) {