# HG changeset patch # User Maxim Dounin # Date 1398270691 -14400 # Node ID cac82b9b3499922de352627ccd7f10f6dac66586 # Parent 64958ea92fd21eb0f9eefb9fd1a49861abcd0707 SSL: explicit handling of empty names. X509_check_host() can't handle non null-terminated names with zero length, so make sure to fail before calling it. diff --git a/src/event/ngx_event_openssl.c b/src/event/ngx_event_openssl.c --- a/src/event/ngx_event_openssl.c +++ b/src/event/ngx_event_openssl.c @@ -2504,6 +2504,10 @@ ngx_ssl_check_host(ngx_connection_t *c, /* X509_check_host() is only available in OpenSSL 1.0.2+ */ + if (name->len == 0) { + goto failed; + } + if (X509_check_host(cert, name->data, name->len, 0) != 1) { ngx_log_debug0(NGX_LOG_DEBUG_EVENT, c->log, 0, "X509_check_host(): no match");