Make OPENSSL_NO_COMP compile again.
[oweals/openssl.git] / crypto / asn1 / t_x509.c
index 5074a74928c4c2f239bc38396dd6c6145385cc6f..61f48d14d7731cc79ef0f9ee68e688373d0bd273 100644 (file)
@@ -86,7 +86,7 @@ int X509_print_ex_fp(FILE *fp, X509 *x, unsigned long nmflag, unsigned long cfla
 
         if ((b=BIO_new(BIO_s_file())) == NULL)
                {
-               X509err(X509_F_X509_PRINT_FP,ERR_R_BUF_LIB);
+               X509err(X509_F_X509_PRINT_EX_FP,ERR_R_BUF_LIB);
                 return(0);
                }
         BIO_set_fp(b,fp,BIO_NOCLOSE);
@@ -236,7 +236,7 @@ int X509_print_ex(BIO *bp, X509 *x, unsigned long nmflags, unsigned long cflag)
                if (pkey->type == EVP_PKEY_EC)
                        {
                        BIO_printf(bp, "%12sEC Public Key:\n","");
-                       EC_KEY_print(bp, pkey->pkey.eckey, 16);
+                       EC_KEY_print(bp, pkey->pkey.ec, 16);
                        }
                else
 #endif
@@ -444,15 +444,17 @@ err:
 
 int X509_NAME_print(BIO *bp, X509_NAME *name, int obase)
        {
-       char *s,*c;
+       char *s,*c,*b;
        int ret=0,l,ll,i,first=1;
-       char buf[256];
 
        ll=80-2-obase;
 
-       s=X509_NAME_oneline(name,buf,256);
+       b=s=X509_NAME_oneline(name,NULL,0);
        if (!*s)
+               {
+               OPENSSL_free(b);
                return 1;
+               }
        s++; /* skip the first slash */
 
        l=ll;
@@ -508,6 +510,7 @@ int X509_NAME_print(BIO *bp, X509_NAME *name, int obase)
 err:
                X509err(X509_F_X509_NAME_PRINT,ERR_R_BUF_LIB);
                }
+       OPENSSL_free(b);
        return(ret);
        }