SSL: fixed $ssl_session_id possible segfault after 97e3769637a7.

Even during execution of a request it is possible that there will be
no session available, notably in case of renegotiation.  As a result
logging of $ssl_session_id in some cases caused NULL pointer dereference
after revision 97e3769637a7 (1.5.9).  The check added returns an empty
string if there is no session available.
This commit is contained in:
Maxim Dounin 2014-01-23 18:32:26 +04:00
parent 239327a9b1
commit 6ca56c5d32
1 changed files with 4 additions and 0 deletions

View File

@ -2233,6 +2233,10 @@ ngx_ssl_get_session_id(ngx_connection_t *c, ngx_pool_t *pool, ngx_str_t *s)
SSL_SESSION *sess;
sess = SSL_get0_session(c->ssl->connection);
if (sess == NULL) {
s->len = 0;
return NGX_OK;
}
buf = sess->session_id;
len = sess->session_id_length;