summaryrefslogtreecommitdiffhomepage
path: root/src/os/unix/ngx_files.c
diff options
context:
space:
mode:
authorRuslan Ermilov <ru@nginx.com>2016-01-26 16:46:31 +0300
committerRuslan Ermilov <ru@nginx.com>2016-01-26 16:46:31 +0300
commit84ae282f938068fa5c09f7c157ea0086b2ab760b (patch)
tree8f778791f9d4d41542841c58a1b3613c3d012177 /src/os/unix/ngx_files.c
parent717f65a5072d67e851c5e2f755eb7179a343c112 (diff)
downloadnginx-84ae282f938068fa5c09f7c157ea0086b2ab760b.tar.gz
nginx-84ae282f938068fa5c09f7c157ea0086b2ab760b.tar.bz2
Resolver: fixed crashes in timeout handler.
If one or more requests were waiting for a response, then after getting a CNAME response, the timeout event on the first request remained active, pointing to the wrong node with an empty rn->waiting list, and that could cause either null pointer dereference or use-after-free memory access if this timeout expired. If several requests were waiting for a response, and the first request terminated (e.g., due to client closing a connection), other requests were left without a timeout and could potentially wait indefinitely. This is fixed by introducing per-request independent timeouts. This change also reverts 954867a2f0a6 and 5004210e8c78.
Diffstat (limited to 'src/os/unix/ngx_files.c')
0 files changed, 0 insertions, 0 deletions