Fix svace issue 11/157311/1 accepted/tizen/unified/20171026.152932 submit/tizen/20171025.012038
authorJooseok Song <seogii.song@samsung.com>
Tue, 24 Oct 2017 07:13:43 +0000 (16:13 +0900)
committerJooseok Song <seogii.song@samsung.com>
Tue, 24 Oct 2017 07:13:43 +0000 (16:13 +0900)
Change-Id: Ie66dba099180086b56611b3c358ac4ae1d6258e5

server/fido_app_id_handler.c [changed mode: 0755->0644]

old mode 100755 (executable)
new mode 100644 (file)
index 23b01fa..d6684e0
@@ -402,22 +402,24 @@ __get_pub_key_from_cert(const char *cert_b64)
        int ret = __b64_decode(cert_b64, strlen(cert_b64), &cert_raw, &cert_raw_len);
        if (ret != 0) {
                _ERR("__b64_decode failed");
-               free(cert_raw);
+               SAFE_DELETE(cert_raw);
 
                return NULL;
        }
 
+       unsigned char *cert_raw_orig = cert_raw;
+
        X509 *x509 = d2i_X509(NULL, (const unsigned char **)(&cert_raw), cert_raw_len);
        if (x509 == NULL) {
                _ERR("d2i_X509 failed");
-               free(cert_raw);
+               SAFE_DELETE(cert_raw_orig);
                return NULL;
        }
 
        int der_len = i2d_X509_PUBKEY(X509_get_X509_PUBKEY(x509), NULL);
        if (der_len <= 0) {
                _ERR("i2d_X509_PUBKEY failed");
-               free(cert_raw);
+               SAFE_DELETE(cert_raw_orig);
                return NULL;
        }
 
@@ -436,7 +438,7 @@ __get_pub_key_from_cert(const char *cert_b64)
        if (ret != 1) {
                _ERR("EVP_Digest failed");
                OPENSSL_free(der_pubkey);
-               free(cert_raw);
+               SAFE_DELETE(cert_raw_orig);
 
                return NULL;
        }
@@ -444,7 +446,7 @@ __get_pub_key_from_cert(const char *cert_b64)
        char *pub_key =  __b64_encode(pubkey_der_digest, (int)hashed_len);
 
        OPENSSL_free(der_pubkey);
-       free(cert_raw);
+       SAFE_DELETE(cert_raw_orig);
 
        if (pub_key != NULL)
                _INFO("%s", pub_key);