Mercurial > hg > nginx
view auto/lib/test @ 6356:f63dd04c1580 stable-1.8
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.
author | Ruslan Ermilov <ru@nginx.com> |
---|---|
date | Tue, 26 Jan 2016 16:46:31 +0300 |
parents | 434548349838 |
children |
line wrap: on
line source
# Copyright (C) Igor Sysoev # Copyright (C) Nginx, Inc. echo $ngx_n "checking for $ngx_lib ...$ngx_c" cat << END >> $NGX_AUTOCONF_ERR ---------------------------------------- checking for $ngx_lib END ngx_found=no cat << END > $NGX_AUTOTEST.c $ngx_lib_incs int main() { $ngx_lib_test; return 0; } eval "$CC $cc_test_flags $ngx_lib_cflags \ -o $NGX_AUTOTEST $NGX_AUTOTEST.c $ngx_libs \ >> $NGX_ERR 2>&1" if [ -x $NGX_AUTOTEST ]; then echo " found" ngx_found=yes else echo " not found" fi rm -rf $NGX_AUTOTEST*