diff options
author | Igor Sysoev <igor@sysoev.ru> | 2008-01-10 08:45:00 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2008-01-10 08:45:00 +0000 |
commit | 8b99e3f1eaaadf9d530c7c18bc469d3be60773ce (patch) | |
tree | b84d79d6aa10821f1eb27c0f91df866021d2452f /src | |
parent | e965c47113040a2aa5995a04b67d8e1f349772a1 (diff) | |
download | nginx-8b99e3f1eaaadf9d530c7c18bc469d3be60773ce.tar.gz nginx-8b99e3f1eaaadf9d530c7c18bc469d3be60773ce.zip |
pull all errors
Diffstat (limited to 'src')
-rw-r--r-- | src/event/ngx_event_openssl.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/event/ngx_event_openssl.c b/src/event/ngx_event_openssl.c index ad567e353..3f5ea2d78 100644 --- a/src/event/ngx_event_openssl.c +++ b/src/event/ngx_event_openssl.c @@ -1159,9 +1159,10 @@ ngx_ssl_clear_error(ngx_log_t *log) void ngx_cdecl ngx_ssl_error(ngx_uint_t level, ngx_log_t *log, ngx_err_t err, char *fmt, ...) { - u_long n; - va_list args; - u_char errstr[NGX_MAX_CONF_ERRSTR], *p, *last; + u_long n; + va_list args; + u_char *p, *last; + u_char errstr[NGX_MAX_CONF_ERRSTR]; last = errstr + NGX_MAX_CONF_ERRSTR; @@ -1171,7 +1172,7 @@ ngx_ssl_error(ngx_uint_t level, ngx_log_t *log, ngx_err_t err, char *fmt, ...) p = ngx_cpystrn(p, (u_char *) " (SSL:", last - p); - while (p < last) { + for ( ;; ) { n = ERR_get_error(); @@ -1179,6 +1180,10 @@ ngx_ssl_error(ngx_uint_t level, ngx_log_t *log, ngx_err_t err, char *fmt, ...) break; } + if (p >= last) { + continue; + } + *p++ = ' '; ERR_error_string_n(n, (char *) p, last - p); |