mirror of
https://github.com/nginx/nginx.git
synced 2024-12-12 10:19:00 +08:00
ngx_sprintf() has implicit limit of 65536 bytes so on Linux/ppc64
in 32-bit mode the errstr is somewhere at 0xffffd680, the "last" overflows and ngx_vsnprintf() does not print at all
This commit is contained in:
parent
f4b34c4754
commit
18d6514eb5
@ -92,13 +92,14 @@ ngx_log_error_core(ngx_uint_t level, ngx_log_t *log, ngx_err_t err,
|
|||||||
|
|
||||||
p = errstr + ngx_cached_err_log_time.len;
|
p = errstr + ngx_cached_err_log_time.len;
|
||||||
|
|
||||||
p = ngx_sprintf(p, " [%s] ", err_levels[level]);
|
p = ngx_snprintf(p, last - p, " [%s] ", err_levels[level]);
|
||||||
|
|
||||||
/* pid#tid */
|
/* pid#tid */
|
||||||
p = ngx_sprintf(p, "%P#" NGX_TID_T_FMT ": ", ngx_log_pid, ngx_log_tid);
|
p = ngx_snprintf(p, last - p, "%P#" NGX_TID_T_FMT ": ",
|
||||||
|
ngx_log_pid, ngx_log_tid);
|
||||||
|
|
||||||
if (log->connection) {
|
if (log->connection) {
|
||||||
p = ngx_sprintf(p, "*%uA ", log->connection);
|
p = ngx_snprintf(p, last - p, "*%uA ", log->connection);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if (NGX_HAVE_VARIADIC_MACROS)
|
#if (NGX_HAVE_VARIADIC_MACROS)
|
||||||
|
Loading…
Reference in New Issue
Block a user