diff options
author | Max Romanov <max.romanov@nginx.com> | 2020-02-03 11:21:21 +0300 |
---|---|---|
committer | Max Romanov <max.romanov@nginx.com> | 2020-02-03 11:21:21 +0300 |
commit | 8eba2e5c3d8537521d3e010025e6078bc1fd28d6 (patch) | |
tree | a3196192c526c73d7094e2dc1ba5601a362cf7c0 | |
parent | 7ea9ebc55a22fec53bb095975e639d4fbfebb575 (diff) | |
download | unit-8eba2e5c3d8537521d3e010025e6078bc1fd28d6.tar.gz unit-8eba2e5c3d8537521d3e010025e6078bc1fd28d6.tar.bz2 |
Initializing local buffer ctx_impl field for correct release.
Uninitialized ctx_impl field may cause crash in application process.
To reproduce the issue, need to trigger shared memory buffer send error on
application side. In our case, send error caused by router process crash.
This issue was introduced in 2c7f79bf0a1f.
-rw-r--r-- | src/nxt_unit.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/nxt_unit.c b/src/nxt_unit.c index 27dc4751..ab622e56 100644 --- a/src/nxt_unit.c +++ b/src/nxt_unit.c @@ -3207,6 +3207,7 @@ nxt_unit_get_outgoing_buf(nxt_unit_ctx_t *ctx, nxt_unit_process_t *process, mmap_buf->port_id = *port_id; mmap_buf->process = process; mmap_buf->free_ptr = NULL; + mmap_buf->ctx_impl = nxt_container_of(ctx, nxt_unit_ctx_impl_t, ctx); nxt_unit_debug(ctx, "outgoing mmap allocation: (%d,%d,%d)", (int) hdr->id, (int) c, |