mirror of
https://github.com/curl/curl.git
synced 2026-06-23 11:35:39 +03:00
lib2302: fix crash due to stack overflow on MSVC and clang Windows
It fixes test 2302, 2303, 2307 with MSVC and clang on Windows.
GCC Windows builds were not affected.
Failure was caused by stack overflow due to a 1MB+ sized test struct on
stack. Replace it with dynamic allocation.
Also unignore affected tests in GHA/windows.
As seen under WINE with llvm-mingw:
```
$ wine64 libtests.exe lib2302 ws://127.0.0.1:59964/2302 > stdout2302 2> stderr2302
Test: lib2302
URL: ws://127.0.0.1:59964/2302
wine: Unhandled stack overflow at address 000000014007486A (thread 0024), starting debugger...
Unhandled exception: stack overflow in 64-bit code (0x000000014007486a).
```
Ref: #16629 (discovery)
Ref: 1bd5ac998b #16570
Closes #16630
This commit is contained in:
parent
66313cc036
commit
7e282e18a5
2 changed files with 10 additions and 7 deletions
5
.github/workflows/windows.yml
vendored
5
.github/workflows/windows.yml
vendored
|
|
@ -350,9 +350,6 @@ jobs:
|
|||
if [ '${{ matrix.sys }}' != 'msys' ]; then
|
||||
TFLAGS+=' ~612' # SFTP
|
||||
fi
|
||||
if [ '${{ matrix.sys }}' = 'clang64' ]; then
|
||||
TFLAGS+=' ~2302 ~2303 ~2307' # permafail with clang (and also MSVC) (but works with mingw64 and ucrt64)
|
||||
fi
|
||||
if [ -x "$(cygpath "${SYSTEMROOT}/System32/curl.exe")" ]; then
|
||||
TFLAGS+=" -ac $(cygpath "${SYSTEMROOT}/System32/curl.exe")"
|
||||
fi
|
||||
|
|
@ -923,7 +920,7 @@ jobs:
|
|||
timeout-minutes: 10
|
||||
run: |
|
||||
export CURL_DIRSUFFIX='${{ matrix.type }}'
|
||||
export TFLAGS='-j8 ${{ matrix.tflags }} ~2302 ~2303 ~2307'
|
||||
export TFLAGS='-j8 ${{ matrix.tflags }}'
|
||||
TFLAGS+=' ~2310' # flaky
|
||||
PATH="$PWD/bld/lib/${{ matrix.type }}:$PATH:/c/Program Files (x86)/stunnel/bin:/c/Program Files/OpenSSH-Win64"
|
||||
PATH="/c/msys64/usr/bin:$PATH"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue