Mercurial > hg > nginx
view auto/threads @ 7536:c3f60d618c17
Core: fixed segfault with too large bucket sizes (ticket #1806).
To save memory hash code uses u_short to store resulting bucket sizes,
so maximum bucket size is limited to 65536 minus ngx_cacheline_size (larger
values will be aligned to 65536 which will overflow u_short). However,
there were no checks to enforce this, and using larger bucket sizes
resulted in overflows and segmentation faults.
Appropriate safety checks to enforce this added to ngx_hash_init().
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Thu, 18 Jul 2019 18:27:44 +0300 |
parents | 04ebf29eaf5b |
children |
line wrap: on
line source
# Copyright (C) Nginx, Inc. if [ $USE_THREADS = YES ]; then if [ "$NGX_PLATFORM" = win32 ]; then cat << END $0: --with-threads is not supported on Windows END exit 1 fi have=NGX_THREADS . auto/have CORE_DEPS="$CORE_DEPS $THREAD_POOL_DEPS" CORE_SRCS="$CORE_SRCS $THREAD_POOL_SRCS" CORE_LIBS="$CORE_LIBS -lpthread" NGX_LIBPTHREAD="-lpthread" fi