Commit 5735170e authored by Kaspar Brand's avatar Kaspar Brand
Browse files

ssl_var_lookup_ssl_cert_dn_oneline(): properly deal with empty DNs

(BIO_read might return -1 in such a case)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1166181 13f79535-47bb-0310-9956-ffa450edef68
parent e5861de4
Loading
Loading
Loading
Loading
+3 −1
Changes for modules/ssl/ssl_engine_vars.c: 3 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -394,7 +394,7 @@ static char *ssl_var_lookup_ssl(apr_pool_t *p, conn_rec *c, request_rec *r,
static char *ssl_var_lookup_ssl_cert_dn_oneline(apr_pool_t *p, request_rec *r,
                                                X509_NAME *xsname)
{
    char *result;
    char *result = NULL;
    SSLDirConfigRec *dc;
    int legacy_format = 0;
    if (r) {
@@ -414,9 +414,11 @@ static char *ssl_var_lookup_ssl_cert_dn_oneline(apr_pool_t *p, request_rec *r,
            return NULL;
        X509_NAME_print_ex(bio, xsname, 0, flags);
        n = BIO_pending(bio);
        if (n > 0) {
            result = apr_palloc(p, n+1);
            n = BIO_read(bio, result, n);
            result[n] = NUL;
        }
        BIO_free(bio);
    }
    return result;