Mercurial > hg > nginx-quic
view auto/endianness @ 7526:8125552a10ca
Perl: handling of allocation errors.
Previously, allocation errors in nginx.xs were more or less ignored,
potentially resulting in incorrect code execution in specific low-memory
conditions. This is changed to use ctx->error bit and croak(), similarly
to how output errors are now handled.
Note that this is mostly a cosmetic change, as Perl itself exits on memory
allocation errors, and hence nginx with Perl is hardly usable in low-memory
conditions.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Fri, 12 Jul 2019 13:56:23 +0300 |
parents | e3faa5fb7772 |
children |
line wrap: on
line source
# Copyright (C) Igor Sysoev # Copyright (C) Nginx, Inc. echo $ngx_n "checking for system byte ordering ...$ngx_c" cat << END >> $NGX_AUTOCONF_ERR ---------------------------------------- checking for system byte ordering END cat << END > $NGX_AUTOTEST.c int main(void) { 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