]> git.kaiwu.me - nginx.git/commitdiff
Restored zeroing of ngx_channel_t in ngx_pass_open_channel().
authorRuslan Ermilov <ru@nginx.com>
Thu, 22 Apr 2021 13:12:52 +0000 (16:12 +0300)
committerRuslan Ermilov <ru@nginx.com>
Thu, 22 Apr 2021 13:12:52 +0000 (16:12 +0300)
Due to structure's alignment, some uninitialized memory contents may have
been passed between processes.

Zeroing was removed in 0215ec9aaa8a.

Reported by Johnny Wang.

src/os/unix/ngx_process_cycle.c

index b31485f884fa733b410e26d09a7896a1ff037b83..07cd05e80b621abd834dc975ae7a7501c0cae33f 100644 (file)
@@ -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;