aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2008-01-10 08:45:00 +0000
committerIgor Sysoev <igor@sysoev.ru>2008-01-10 08:45:00 +0000
commit8b99e3f1eaaadf9d530c7c18bc469d3be60773ce (patch)
treeb84d79d6aa10821f1eb27c0f91df866021d2452f /src
parente965c47113040a2aa5995a04b67d8e1f349772a1 (diff)
downloadnginx-8b99e3f1eaaadf9d530c7c18bc469d3be60773ce.tar.gz
nginx-8b99e3f1eaaadf9d530c7c18bc469d3be60773ce.zip
pull all errors
Diffstat (limited to 'src')
-rw-r--r--src/event/ngx_event_openssl.c13
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);