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	Wed Apr 21 23:24:59 2021 +0300
+++ b/src/os/unix/ngx_process_cycle.c	Thu Apr 22 16:12:52 2021 +0300
@@ -398,6 +398,8 @@
     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;