Mercurial > hg > nginx
view auto/endianness @ 6344:a8ecb0a2193f stable-1.8
Fixed ngx_parse_time() out of bounds access (ticket #821).
The code failed to ensure that "s" is within the buffer passed for
parsing when checking for "ms", and this resulted in unexpected errors when
parsing non-null-terminated strings with trailing "m". The bug manifested
itself when the expires directive was used with variables.
Found by Roman Arutyunyan.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Fri, 30 Oct 2015 21:43:30 +0300 |
parents | 434548349838 |
children | 7ec809b579d7 |
line wrap: on
line source
# Copyright (C) Igor Sysoev # Copyright (C) Nginx, Inc. echo $ngx_n "checking for system byte ordering ...$ngx_c" echo >> $NGX_ERR echo "checking for system byte ordering" >> $NGX_ERR cat << END > $NGX_AUTOTEST.c int main() { int i = 0x11223344; char *p; p = (char *) &i; if (*p == 0x44) return 0; return 1; } END ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS \ -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_LD_OPT $ngx_feature_libs" eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1" if [ -x $NGX_AUTOTEST ]; then if $NGX_AUTOTEST >/dev/null 2>&1; then echo " little endian" have=NGX_HAVE_LITTLE_ENDIAN . auto/have else echo " big endian" fi rm -rf $NGX_AUTOTEST* else rm -rf $NGX_AUTOTEST* echo echo "$0: error: cannot detect system byte ordering" exit 1 fi