◐ Shell
clean mode source ↗

[backport to 3.5] bpo-29438: Fixed use-after-free in key sharing dict by methane · Pull Request #40 · python/cpython

@methane

@methane added the type-bug

An unexpected behavior, bug, or error

label

Feb 12, 2017

@methane methane changed the title bpo-29438: Fixed use-after-free in key sharing dict [backport to 3.5] bpo-29438: Fixed use-after-free in key sharing dict

Feb 12, 2017

serhiy-storchaka

serhiy-storchaka

jaraco pushed a commit that referenced this pull request

Dec 2, 2022

oraluben pushed a commit to oraluben/cpython that referenced this pull request

Jun 25, 2023

This was referenced

Feb 11, 2025

johnslavik pushed a commit to johnslavik/cpython that referenced this pull request

Dec 19, 2025
Remove `get_lazy_modules` from docs

SonicField added a commit to SonicField/cpython that referenced this pull request

Apr 15, 2026
Move bytecode_offset=-1 initialization into hir_c_alloc_instr so the
invariant is structurally enforced — even if hir_c_init_instr is
accidentally skipped, bytecode_offset will be -1 (not 0 from calloc).

Add runtime regression test in hir_instr_c_verify.cpp that verifies
the invariant for all three allocation paths (raw alloc, init_instr,
init_deopt). Runs at startup via __attribute__((constructor)).

Addresses gap flagged 5 times (Pythia python#14, python#40, python#59, librarian x2).