dlfcn: always define _GNU_SOURCE
[oweals/openssl.git] / crypto / x509 / x509spki.c
index fd0a534d88e55c53f39914480a1bccebf22fa0bd..5addcc8cd88c682e3f3484e2b36e9a7166e532a8 100644 (file)
@@ -1,5 +1,5 @@
 /* x509spki.c */
-/* Written by Dr Stephen N Henson (shenson@bigfoot.com) for the OpenSSL
+/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
  * project 1999.
  */
 /* ====================================================================
@@ -59,7 +59,6 @@
 #include <stdio.h>
 #include "cryptlib.h"
 #include <openssl/x509.h>
-#include <openssl/asn1_mac.h>
 
 int NETSCAPE_SPKI_set_pubkey(NETSCAPE_SPKI *x, EVP_PKEY *pkey)
 {
@@ -78,7 +77,8 @@ EVP_PKEY *NETSCAPE_SPKI_get_pubkey(NETSCAPE_SPKI *x)
 
 NETSCAPE_SPKI * NETSCAPE_SPKI_b64_decode(const char *str, int len)
 {
-       unsigned char *spki_der, *p;
+       unsigned char *spki_der;
+       const unsigned char *p;
        int spki_len;
        NETSCAPE_SPKI *spki;
        if(len <= 0) len = strlen(str);
@@ -111,6 +111,10 @@ char * NETSCAPE_SPKI_b64_encode(NETSCAPE_SPKI *spki)
        b64_str = OPENSSL_malloc(der_len * 2);
        if(!der_spki || !b64_str) {
                X509err(X509_F_NETSCAPE_SPKI_B64_ENCODE, ERR_R_MALLOC_FAILURE);
+               if (der_spki != NULL)
+                       OPENSSL_free(der_spki);
+               if (b64_str != NULL)
+                       OPENSSL_free(b64_str);
                return NULL;
        }
        p = der_spki;