mirror of
https://github.com/python/cpython.git
synced 2026-04-20 02:40:59 +00:00
Treat the debug offset tables read from a target process as untrusted input and validate them before the unwinder uses any reported sizes or offsets. Add a shared validator in debug_offsets_validation.h and run it once when _Py_DebugOffsets is loaded and once when AsyncioDebug is loaded. The checks cover section sizes used for fixed local buffers and every offset that is later dereferenced against a local buffer or local object view. This keeps the bounds checks out of the sampling hot path while rejecting malformed tables up front. |
||
|---|---|---|
| .. | ||
| clinic | ||
| _remote_debugging.h | ||
| asyncio.c | ||
| binary_io.h | ||
| binary_io_reader.c | ||
| binary_io_writer.c | ||
| code_objects.c | ||
| debug_offsets_validation.h | ||
| frame_cache.c | ||
| frames.c | ||
| module.c | ||
| object_reading.c | ||
| subprocess.c | ||
| threads.c | ||