diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2001-06-26 12:04:35 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2001-06-26 12:04:35 +0000 |
commit | 1e325f614913435d214c3f5a25bb38a9aacbcb54 (patch) | |
tree | a8f62d6f9ec4de89cc7b3f1ce7b53a8479fb5881 | |
parent | c458a3319687a15893bc8d14831a770a68062421 (diff) | |
download | openssl-1e325f614913435d214c3f5a25bb38a9aacbcb54.tar.gz |
Handle empty X509_NAME in printing routines.
-rw-r--r-- | CHANGES | 3 | ||||
-rw-r--r-- | crypto/asn1/t_x509.c | 4 | ||||
-rw-r--r-- | crypto/x509/x509_obj.c | 2 |
3 files changed, 7 insertions, 2 deletions
@@ -11,6 +11,9 @@ *) applies to 0.9.6a (/0.9.6b) and 0.9.7 +) applies to 0.9.7 only + *) Handle special case when X509_NAME is empty in X509 printing routines. + [Steve Henson] + *) In dsa_do_verify (crypto/dsa/dsa_ossl.c), verify that r and s are positive and less than q. [Bodo Moeller] diff --git a/crypto/asn1/t_x509.c b/crypto/asn1/t_x509.c index 0bba0861d1..ff4a991b66 100644 --- a/crypto/asn1/t_x509.c +++ b/crypto/asn1/t_x509.c @@ -176,7 +176,7 @@ int X509_print_ex(BIO *bp, X509 *x, unsigned long nmflags, unsigned long cflag) if(!(cflag & X509_FLAG_NO_ISSUER)) { if (BIO_printf(bp," Issuer:%c",mlch) <= 0) goto err; - if (!X509_NAME_print_ex(bp,X509_get_issuer_name(x),nmindent, nmflags)) goto err; + if (X509_NAME_print_ex(bp,X509_get_issuer_name(x),nmindent, nmflags) < 0) goto err; if (BIO_write(bp,"\n",1) <= 0) goto err; } if(!(cflag & X509_FLAG_NO_VALIDITY)) @@ -191,7 +191,7 @@ int X509_print_ex(BIO *bp, X509 *x, unsigned long nmflags, unsigned long cflag) if(!(cflag & X509_FLAG_NO_SUBJECT)) { if (BIO_printf(bp," Subject:%c",mlch) <= 0) goto err; - if (!X509_NAME_print_ex(bp,X509_get_subject_name(x),nmindent, nmflags)) goto err; + if (X509_NAME_print_ex(bp,X509_get_subject_name(x),nmindent, nmflags) < 0) goto err; if (BIO_write(bp,"\n",1) <= 0) goto err; } if(!(cflag & X509_FLAG_NO_PUBKEY)) diff --git a/crypto/x509/x509_obj.c b/crypto/x509/x509_obj.c index 6a3ba8eb15..f0271fdfa1 100644 --- a/crypto/x509/x509_obj.c +++ b/crypto/x509/x509_obj.c @@ -214,6 +214,8 @@ int i; } else p=buf; + if (i == 0) + *p = '\0'; return(p); err: X509err(X509_F_X509_NAME_ONELINE,ERR_R_MALLOC_FAILURE); |