Mercurial > hg > nginx-quic
view auto/os/conf @ 7094:c7d4017c8876
Secure link: fixed stack buffer overflow.
When secure link checksum has length of 23 or 24 bytes, decoded base64 value
could occupy 17 or 18 bytes which is more than 16 bytes previously allocated
for it on stack. The buffer overflow does not have any security implications
since only one local variable was corrupted and this variable was not used in
this case.
The fix is to increase buffer size up to 18 bytes. Useless buffer size
initialization is removed as well.
author | Roman Arutyunyan <arut@nginx.com> |
---|---|
date | Tue, 22 Aug 2017 21:22:59 +0300 |
parents | 639e48c382a6 |
children | e4c21e417277 |
line wrap: on
line source
# Copyright (C) Igor Sysoev # Copyright (C) Nginx, Inc. echo "checking for $NGX_SYSTEM specific features" case "$NGX_PLATFORM" in FreeBSD:*) . auto/os/freebsd ;; Linux:*) . auto/os/linux ;; SunOS:*) . auto/os/solaris ;; Darwin:*) . auto/os/darwin ;; win32) . auto/os/win32 ;; DragonFly:*) have=NGX_FREEBSD . auto/have_headers CORE_INCS="$UNIX_INCS" CORE_DEPS="$UNIX_DEPS $FREEBSD_DEPS" CORE_SRCS="$UNIX_SRCS $FREEBSD_SRCS" echo " + sendfile() found" have=NGX_HAVE_SENDFILE . auto/have CORE_SRCS="$CORE_SRCS $FREEBSD_SENDFILE_SRCS" ngx_spacer=' ' ;; NetBSD:*) CORE_INCS="$UNIX_INCS" CORE_DEPS="$UNIX_DEPS $POSIX_DEPS" CORE_SRCS="$UNIX_SRCS" NGX_RPATH=YES ;; HP-UX:*) # HP/UX have=NGX_HPUX . auto/have_headers CORE_INCS="$UNIX_INCS" CORE_DEPS="$UNIX_DEPS $POSIX_DEPS" CORE_SRCS="$UNIX_SRCS" CC_AUX_FLAGS="$CC_AUX_FLAGS -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1" CC_AUX_FLAGS="$CC_AUX_FLAGS -D_HPUX_ALT_XOPEN_SOCKET_API" ;; OSF1:*) # Tru64 UNIX have=NGX_TRU64 . auto/have_headers have=NGX_HAVE_STRERROR_R . auto/nohave CORE_INCS="$UNIX_INCS" CORE_DEPS="$UNIX_DEPS $POSIX_DEPS" CORE_SRCS="$UNIX_SRCS" ;; GNU:*) # GNU Hurd have=NGX_GNU_HURD . auto/have_headers CORE_INCS="$UNIX_INCS" CORE_DEPS="$UNIX_DEPS $POSIX_DEPS" CORE_SRCS="$UNIX_SRCS" CC_AUX_FLAGS="$CC_AUX_FLAGS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64" ;; *) CORE_INCS="$UNIX_INCS" CORE_DEPS="$UNIX_DEPS $POSIX_DEPS" CORE_SRCS="$UNIX_SRCS" ;; esac case "$NGX_MACHINE" in i386 | i686 | i86pc) have=NGX_HAVE_NONALIGNED . auto/have NGX_MACH_CACHE_LINE=32 ;; amd64 | x86_64) have=NGX_HAVE_NONALIGNED . auto/have NGX_MACH_CACHE_LINE=64 ;; sun4u | sun4v | sparc | sparc64) have=NGX_ALIGNMENT value=16 . auto/define # TODO NGX_MACH_CACHE_LINE=64 ;; ia64 ) have=NGX_ALIGNMENT value=16 . auto/define # TODO NGX_MACH_CACHE_LINE=64 ;; *) have=NGX_ALIGNMENT value=16 . auto/define NGX_MACH_CACHE_LINE=32 ;; esac if test -z "$NGX_CPU_CACHE_LINE"; then NGX_CPU_CACHE_LINE=$NGX_MACH_CACHE_LINE fi have=NGX_CPU_CACHE_LINE value=$NGX_CPU_CACHE_LINE . auto/define