changeset 7830:f2ff291bbdac

Restored zeroing of ngx_channel_t in ngx_pass_open_channel(). Due to structure's alignment, some uninitialized memory contents may have been passed between processes. Zeroing was removed in 0215ec9aaa8a. Reported by Johnny Wang.
author Ruslan Ermilov <ru@nginx.com>
date Thu, 22 Apr 2021 16:12:52 +0300
parents 2851e4c7de03
children bdd4d89370a7
files src/os/unix/ngx_process_cycle.c
diffstat 1 files changed, 2 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/os/unix/ngx_process_cycle.c
+++ b/src/os/unix/ngx_process_cycle.c
@@ -398,6 +398,8 @@ ngx_pass_open_channel(ngx_cycle_t *cycle
     ngx_int_t      i;
     ngx_channel_t  ch;
 
+    ngx_memzero(&ch, sizeof(ngx_channel_t));
+
     ch.command = NGX_CMD_OPEN_CHANNEL;
     ch.pid = ngx_processes[ngx_process_slot].pid;
     ch.slot = ngx_process_slot;