]> git.kaiwu.me - nginx.git/commitdiff
pull all errors
authorIgor Sysoev <igor@sysoev.ru>
Thu, 10 Jan 2008 08:45:00 +0000 (08:45 +0000)
committerIgor Sysoev <igor@sysoev.ru>
Thu, 10 Jan 2008 08:45:00 +0000 (08:45 +0000)
src/event/ngx_event_openssl.c

index ad567e353379aa476bc03e7f48c7453fc348902f..3f5ea2d78732762831424b709edd9cf3e3226cae 100644 (file)
@@ -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);