Skip to content

gh-142560: bytearray: prevent UAF in search-like methods by exporting self buffer #176939

gh-142560: bytearray: prevent UAF in search-like methods by exporting self buffer

gh-142560: bytearray: prevent UAF in search-like methods by exporting self buffer #176939

Triggered via pull request December 15, 2025 02:44
Status Failure
Total duration 3m 7s
Artifacts 1

build.yml

on: pull_request
Change detection  /  Create context from changed files
12s
Change detection / Create context from changed files
Matrix: build-android
Matrix: Address sanitizer
Matrix: build-macos
Matrix: build-san
Matrix: Ubuntu SSL tests with AWS-LC
Matrix: Ubuntu SSL tests with OpenSSL
Matrix: build-ubuntu
Matrix: build-windows-msi
Waiting for pending jobs
Matrix: build-windows
Matrix: CIFuzz
Docs  /  Docs
1m 40s
Docs / Docs
Docs  /  Doctest
1m 19s
Docs / Doctest
Docs  /  Check EPUB
1m 47s
Docs / Check EPUB
Check if Autoconf files are up to date
28s
Check if Autoconf files are up to date
Check if generated files are up to date
1m 26s
Check if generated files are up to date
iOS
53s
iOS
WASI  /  build and test
54s
WASI / build and test
Hypothesis tests on Ubuntu
1m 18s
Hypothesis tests on Ubuntu
Cross build Linux
1m 16s
Cross build Linux
All required checks pass
4s
All required checks pass
Fit to window
Zoom out
Zoom in

Annotations

97 errors and 38 warnings
Android (x86_64)
Process completed with exit code 1.
iOS
Process completed with exit code 1.
Windows (free-threading) / Build and test (x64): Objects/bytearrayobject.c#L1372
syntax error: '}' [D:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows (free-threading) / Build and test (x64): Objects/bytearrayobject.c#L1371
syntax error: 'return' [D:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows (free-threading) / Build and test (x64): Objects/bytearrayobject.c#L1370
'_py_cs': undeclared identifier [D:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows (free-threading) / Build and test (x64): Objects/bytearrayobject.c#L1370
'_cs_tstate': undeclared identifier [D:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows (free-threading) / Build and test (x64): Objects/bytearrayobject.c#L1369
'selfbuf': undeclared identifier [D:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows (free-threading) / Build and test (x64): Objects/bytearrayobject.c#L1368
'int _Py_bytes_contains(const char *,Py_ssize_t,PyObject *)': too few arguments for call [D:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows (free-threading) / Build and test (x64): Objects/bytearrayobject.c#L1368
left of '.len' must have struct/union type [D:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows (free-threading) / Build and test (x64): Objects/bytearrayobject.c#L1368
'selfbuf': undeclared identifier [D:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows (free-threading) / Build and test (x64): Objects/bytearrayobject.c#L1368
left of '.buf' must have struct/union type [D:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows (free-threading) / Build and test (x64): Objects/bytearrayobject.c#L1368
'selfbuf': undeclared identifier [D:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
WASI / build and test
Process completed with exit code 1.
Windows / Build and test (x64)
Process completed with exit code 1.
Windows / Build and test (x64): Objects/bytearrayobject.c#L1372
syntax error: '}' [D:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows / Build and test (x64): Objects/bytearrayobject.c#L1371
syntax error: 'return' [D:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows / Build and test (x64): Objects/bytearrayobject.c#L1369
'selfbuf': undeclared identifier [D:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows / Build and test (x64): Objects/bytearrayobject.c#L1368
'int _Py_bytes_contains(const char *,Py_ssize_t,PyObject *)': too few arguments for call [D:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows / Build and test (x64): Objects/bytearrayobject.c#L1368
left of '.len' must have struct/union type [D:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows / Build and test (x64): Objects/bytearrayobject.c#L1368
'selfbuf': undeclared identifier [D:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows / Build and test (x64): Objects/bytearrayobject.c#L1368
left of '.buf' must have struct/union type [D:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows / Build and test (x64): Objects/bytearrayobject.c#L1368
'selfbuf': undeclared identifier [D:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Android (aarch64)
Process completed with exit code 1.
macOS (free-threading) / build and test (macos-14)
Process completed with exit code 2.
Ubuntu SSL tests with OpenSSL (ubuntu-24.04, 1.1.1w)
Process completed with exit code 2.
Windows / Build and test (Win32)
Process completed with exit code 1.
Cross build Linux
Process completed with exit code 2.
Cross build Linux: Objects/bytearrayobject.c#L1372
expected identifier or ‘(’ before ‘}’ token
Cross build Linux: Objects/bytearrayobject.c#L1371
expected identifier or ‘(’ before ‘return’
Cross build Linux: Objects/bytearrayobject.c#L1368
‘selfbuf’ undeclared (first use in this function); did you mean ‘setvbuf’?
Hypothesis tests on Ubuntu
Process completed with exit code 2.
Hypothesis tests on Ubuntu: Objects/bytearrayobject.c#L1372
expected identifier or ‘(’ before ‘}’ token
Hypothesis tests on Ubuntu: Objects/bytearrayobject.c#L1371
expected identifier or ‘(’ before ‘return’
Hypothesis tests on Ubuntu: Objects/bytearrayobject.c#L1368
‘selfbuf’ undeclared (first use in this function); did you mean ‘setvbuf’?
Ubuntu SSL tests with OpenSSL (ubuntu-24.04, 3.0.18)
Process completed with exit code 2.
Docs / Doctest
Process completed with exit code 2.
Ubuntu SSL tests with OpenSSL (ubuntu-24.04, 3.5.4)
Process completed with exit code 2.
Windows (free-threading) / Build and test (arm64): Objects/bytearrayobject.c#L1372
syntax error: '}' [C:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows (free-threading) / Build and test (arm64): Objects/bytearrayobject.c#L1371
syntax error: 'return' [C:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows (free-threading) / Build and test (arm64): Objects/bytearrayobject.c#L1370
'_py_cs': undeclared identifier [C:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows (free-threading) / Build and test (arm64): Objects/bytearrayobject.c#L1370
'_cs_tstate': undeclared identifier [C:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows (free-threading) / Build and test (arm64): Objects/bytearrayobject.c#L1369
'selfbuf': undeclared identifier [C:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows (free-threading) / Build and test (arm64): Objects/bytearrayobject.c#L1368
'int _Py_bytes_contains(const char *,Py_ssize_t,PyObject *)': too few arguments for call [C:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows (free-threading) / Build and test (arm64): Objects/bytearrayobject.c#L1368
left of '.len' must have struct/union type [C:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows (free-threading) / Build and test (arm64): Objects/bytearrayobject.c#L1368
'selfbuf': undeclared identifier [C:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows (free-threading) / Build and test (arm64): Objects/bytearrayobject.c#L1368
left of '.buf' must have struct/union type [C:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows (free-threading) / Build and test (arm64): Objects/bytearrayobject.c#L1368
'selfbuf': undeclared identifier [C:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows / Build and test (arm64)
Process completed with exit code 1.
Windows / Build and test (arm64): Objects/bytearrayobject.c#L1372
syntax error: '}' [C:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows / Build and test (arm64): Objects/bytearrayobject.c#L1371
syntax error: 'return' [C:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows / Build and test (arm64): Objects/bytearrayobject.c#L1369
'selfbuf': undeclared identifier [C:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows / Build and test (arm64): Objects/bytearrayobject.c#L1368
'int _Py_bytes_contains(const char *,Py_ssize_t,PyObject *)': too few arguments for call [C:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows / Build and test (arm64): Objects/bytearrayobject.c#L1368
left of '.len' must have struct/union type [C:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows / Build and test (arm64): Objects/bytearrayobject.c#L1368
'selfbuf': undeclared identifier [C:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows / Build and test (arm64): Objects/bytearrayobject.c#L1368
left of '.buf' must have struct/union type [C:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows / Build and test (arm64): Objects/bytearrayobject.c#L1368
'selfbuf': undeclared identifier [C:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Check if generated files are up to date
Process completed with exit code 2.
Ubuntu SSL tests with OpenSSL (ubuntu-24.04, 3.2.6)
Process completed with exit code 2.
Ubuntu SSL tests with OpenSSL (ubuntu-24.04, 3.4.3)
Process completed with exit code 2.
Ubuntu SSL tests with OpenSSL (ubuntu-24.04, 3.3.5)
Process completed with exit code 2.
Address sanitizer (ubuntu-24.04)
Process completed with exit code 2.
Address sanitizer (ubuntu-24.04): Objects/bytearrayobject.c#L1372
expected identifier or ‘(’ before ‘}’ token
Address sanitizer (ubuntu-24.04): Objects/bytearrayobject.c#L1371
expected identifier or ‘(’ before ‘return’
Address sanitizer (ubuntu-24.04): Objects/bytearrayobject.c#L1368
‘selfbuf’ undeclared (first use in this function); did you mean ‘setvbuf’?
Docs / Docs
Process completed with exit code 2.
macOS / build and test (macos-14)
Process completed with exit code 2.
Docs / Check EPUB
Process completed with exit code 1.
Ubuntu (free-threading) / build and test (ubuntu-24.04)
Process completed with exit code 2.
Ubuntu (free-threading) / build and test (ubuntu-24.04): Objects/bytearrayobject.c#L1372
expected identifier or ‘(’ before ‘}’ token
Ubuntu (free-threading) / build and test (ubuntu-24.04): Objects/bytearrayobject.c#L1371
expected identifier or ‘(’ before ‘return’
Ubuntu (free-threading) / build and test (ubuntu-24.04): Include/internal/pycore_critical_section.h#L262
‘_py_cs’ undeclared (first use in this function)
Ubuntu (free-threading) / build and test (ubuntu-24.04): Include/internal/pycore_critical_section.h#L262
‘_cs_tstate’ undeclared (first use in this function); did you mean ‘ast_state’?
Ubuntu (free-threading) / build and test (ubuntu-24.04): Objects/bytearrayobject.c#L1368
‘selfbuf’ undeclared (first use in this function); did you mean ‘setvbuf’?
Ubuntu / build and test (ubuntu-24.04)
Process completed with exit code 2.
Ubuntu / build and test (ubuntu-24.04): Objects/bytearrayobject.c#L1372
expected identifier or ‘(’ before ‘}’ token
Ubuntu / build and test (ubuntu-24.04): Objects/bytearrayobject.c#L1371
expected identifier or ‘(’ before ‘return’
Ubuntu / build and test (ubuntu-24.04): Objects/bytearrayobject.c#L1368
‘selfbuf’ undeclared (first use in this function); did you mean ‘setvbuf’?
macOS / build and test (macos-15-intel)
Process completed with exit code 2.
Ubuntu SSL tests with AWS-LC (ubuntu-24.04, 1.55.0)
Process completed with exit code 2.
Sanitizers / TSan (free-threading)
Process completed with exit code 2.
Sanitizers / TSan
Process completed with exit code 2.
Ubuntu (bolt) / build and test (ubuntu-24.04)
Process completed with exit code 2.
Ubuntu (bolt) / build and test (ubuntu-24.04): Objects/bytearrayobject.c#L1372
expected identifier or ‘(’ before ‘}’ token
Ubuntu (bolt) / build and test (ubuntu-24.04): Objects/bytearrayobject.c#L1371
expected identifier or ‘(’ before ‘return’
Ubuntu (bolt) / build and test (ubuntu-24.04): Objects/bytearrayobject.c#L1368
‘selfbuf’ undeclared (first use in this function); did you mean ‘setvbuf’?
Ubuntu (free-threading) / build and test (ubuntu-24.04-arm)
Process completed with exit code 2.
Ubuntu (free-threading) / build and test (ubuntu-24.04-arm): Objects/bytearrayobject.c#L1372
expected identifier or ‘(’ before ‘}’ token
Ubuntu (free-threading) / build and test (ubuntu-24.04-arm): Objects/bytearrayobject.c#L1371
expected identifier or ‘(’ before ‘return’
Ubuntu (free-threading) / build and test (ubuntu-24.04-arm): Include/internal/pycore_critical_section.h#L262
‘_cs_tstate’ undeclared (first use in this function); did you mean ‘ast_state’?
Ubuntu (free-threading) / build and test (ubuntu-24.04-arm): Objects/bytearrayobject.c#L1368
‘selfbuf’ undeclared (first use in this function); did you mean ‘setvbuf’?
Sanitizers / UBSan
Process completed with exit code 2.
Ubuntu / build and test (ubuntu-24.04-arm)
Process completed with exit code 2.
Ubuntu / build and test (ubuntu-24.04-arm): Objects/bytearrayobject.c#L1372
expected identifier or ‘(’ before ‘}’ token
Ubuntu / build and test (ubuntu-24.04-arm): Objects/bytearrayobject.c#L1371
expected identifier or ‘(’ before ‘return’
Ubuntu / build and test (ubuntu-24.04-arm): Objects/bytearrayobject.c#L1368
‘selfbuf’ undeclared (first use in this function); did you mean ‘setvbuf’?
All required checks pass
Process completed with exit code 1.
Windows (free-threading) / Build and test (x64): Objects/bytearrayobject.c#L1370
'function': incompatible types - from 'int *' to 'PyCriticalSection *' [D:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows (free-threading) / Build and test (x64): Objects/bytearrayobject.c#L1370
'_PyCriticalSection_End': different types for formal and actual parameter 1 [D:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows (free-threading) / Build and test (x64): Objects/bytearrayobject.c#L1370
'function': 'PyThreadState *' differs in levels of indirection from 'int' [D:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows (free-threading) / Build and test (x64): Objects/bytearrayobject.c#L1369
'function': incompatible types - from 'int *' to 'Py_buffer *' [D:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows (free-threading) / Build and test (x64): Objects/bytearrayobject.c#L1368
'function': incompatible types - from 'PyObject *' to 'const char *' [D:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows / Build and test (x64): Objects/bytearrayobject.c#L1369
'function': incompatible types - from 'int *' to 'Py_buffer *' [D:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows / Build and test (x64): Objects/bytearrayobject.c#L1368
'function': incompatible types - from 'PyObject *' to 'const char *' [D:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
macOS (free-threading) / build and test (macos-14)
Already linked: /opt/homebrew/Cellar/tcl-tk/9.0.3
macOS (free-threading) / build and test (macos-14)
`$HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK` is set: not checking for outdated dependents or dependents with broken linkage!
macOS (free-threading) / build and test (macos-14)
gdbm 1.26 is already installed and up-to-date. To reinstall 1.26, run: brew reinstall gdbm
macOS (free-threading) / build and test (macos-14)
xz 5.8.1 is already installed and up-to-date. To reinstall 5.8.1, run: brew reinstall xz
macOS (free-threading) / build and test (macos-14)
pkgconf 2.5.1 is already installed and up-to-date. To reinstall 2.5.1, run: brew reinstall pkgconf
Cross build Linux: Objects/bytearrayobject.c#L1361
variable ‘ret’ set but not used [-Wunused-but-set-variable]
Hypothesis tests on Ubuntu
No files were found with the provided path: /home/runner/work/cpython/cpython-builddir/.hypothesis/examples/. No artifacts will be uploaded.
Hypothesis tests on Ubuntu: Objects/bytearrayobject.c#L1361
variable ‘ret’ set but not used [-Wunused-but-set-variable]
Windows (free-threading) / Build and test (arm64): Objects/bytearrayobject.c#L1370
'function': incompatible types - from 'int *' to 'PyCriticalSection *' [C:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows (free-threading) / Build and test (arm64): Objects/bytearrayobject.c#L1370
'_PyCriticalSection_End': different types for formal and actual parameter 1 [C:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows (free-threading) / Build and test (arm64): Objects/bytearrayobject.c#L1370
'function': 'PyThreadState *' differs in levels of indirection from 'int' [C:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows (free-threading) / Build and test (arm64): Objects/bytearrayobject.c#L1369
'function': incompatible types - from 'int *' to 'Py_buffer *' [C:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows (free-threading) / Build and test (arm64): Objects/bytearrayobject.c#L1368
'function': incompatible types - from 'PyObject *' to 'const char *' [C:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows / Build and test (arm64): Objects/bytearrayobject.c#L1369
'function': incompatible types - from 'int *' to 'Py_buffer *' [C:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Windows / Build and test (arm64): Objects/bytearrayobject.c#L1368
'function': incompatible types - from 'PyObject *' to 'const char *' [C:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
Address sanitizer (ubuntu-24.04): Objects/bytearrayobject.c#L1361
variable ‘ret’ set but not used [-Wunused-but-set-variable]
macOS / build and test (macos-14)
Already linked: /opt/homebrew/Cellar/tcl-tk/9.0.3
macOS / build and test (macos-14)
`$HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK` is set: not checking for outdated dependents or dependents with broken linkage!
macOS / build and test (macos-14)
gdbm 1.26 is already installed and up-to-date. To reinstall 1.26, run: brew reinstall gdbm
macOS / build and test (macos-14)
xz 5.8.1 is already installed and up-to-date. To reinstall 5.8.1, run: brew reinstall xz
macOS / build and test (macos-14)
pkgconf 2.5.1 is already installed and up-to-date. To reinstall 2.5.1, run: brew reinstall pkgconf
Ubuntu (free-threading) / build and test (ubuntu-24.04): Objects/bytearrayobject.c#L1361
variable ‘ret’ set but not used [-Wunused-but-set-variable]
Ubuntu / build and test (ubuntu-24.04): Objects/bytearrayobject.c#L1361
variable ‘ret’ set but not used [-Wunused-but-set-variable]
macOS / build and test (macos-15-intel)
Already linked: /usr/local/Cellar/tcl-tk/9.0.3
macOS / build and test (macos-15-intel)
`$HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK` is set: not checking for outdated dependents or dependents with broken linkage!
macOS / build and test (macos-15-intel)
gdbm 1.26 is already installed and up-to-date. To reinstall 1.26, run: brew reinstall gdbm
macOS / build and test (macos-15-intel)
xz 5.8.1 is already installed and up-to-date. To reinstall 5.8.1, run: brew reinstall xz
macOS / build and test (macos-15-intel)
pkgconf 2.5.1 is already installed and up-to-date. To reinstall 2.5.1, run: brew reinstall pkgconf
Ubuntu (bolt) / build and test (ubuntu-24.04): Objects/bytearrayobject.c#L1361
variable ‘ret’ set but not used [-Wunused-but-set-variable]
Ubuntu (free-threading) / build and test (ubuntu-24.04-arm): Objects/bytearrayobject.c#L1361
variable ‘ret’ set but not used [-Wunused-but-set-variable]
Ubuntu / build and test (ubuntu-24.04-arm): Objects/bytearrayobject.c#L1361
variable ‘ret’ set but not used [-Wunused-but-set-variable]

Artifacts

Produced during runtime
Name Size Digest
UBSan-logs-default
388 Bytes
sha256:e41820fde78e4e5b043e7b0b4699bd598bf4e0308724a6a8512caa7bfe407f5b