Commit 748d933
committed
Fix use-after-free in tl_pending_args across subinterpreters
Clear tl_pending_args to NULL whenever tl_pending_callback is set to
false. Previously, the thread-local pointer was left dangling after
callback completion. When a dirty scheduler thread later handled a
different subinterpreter's code, Py_XDECREF on the stale pointer
would attempt to free memory from the wrong allocator.1 parent 47c4a5c commit 748d933
3 files changed
+21
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
563 | 563 | | |
564 | 564 | | |
565 | 565 | | |
| 566 | + | |
566 | 567 | | |
567 | 568 | | |
568 | 569 | | |
| |||
575 | 576 | | |
576 | 577 | | |
577 | 578 | | |
| 579 | + | |
578 | 580 | | |
579 | 581 | | |
580 | 582 | | |
| |||
610 | 612 | | |
611 | 613 | | |
612 | 614 | | |
| 615 | + | |
613 | 616 | | |
614 | 617 | | |
615 | 618 | | |
| |||
811 | 814 | | |
812 | 815 | | |
813 | 816 | | |
| 817 | + | |
814 | 818 | | |
815 | 819 | | |
816 | 820 | | |
| |||
1553 | 1557 | | |
1554 | 1558 | | |
1555 | 1559 | | |
| 1560 | + | |
1556 | 1561 | | |
1557 | 1562 | | |
1558 | 1563 | | |
| |||
1561 | 1566 | | |
1562 | 1567 | | |
1563 | 1568 | | |
1564 | | - | |
1565 | | - | |
1566 | | - | |
| 1569 | + | |
| 1570 | + | |
| 1571 | + | |
| 1572 | + | |
| 1573 | + | |
| 1574 | + | |
1567 | 1575 | | |
1568 | 1576 | | |
1569 | 1577 | | |
| |||
2649 | 2657 | | |
2650 | 2658 | | |
2651 | 2659 | | |
| 2660 | + | |
2652 | 2661 | | |
2653 | 2662 | | |
2654 | 2663 | | |
| |||
2717 | 2726 | | |
2718 | 2727 | | |
2719 | 2728 | | |
| 2729 | + | |
2720 | 2730 | | |
2721 | 2731 | | |
2722 | 2732 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
306 | 306 | | |
307 | 307 | | |
308 | 308 | | |
| 309 | + | |
309 | 310 | | |
310 | 311 | | |
311 | 312 | | |
| |||
393 | 394 | | |
394 | 395 | | |
395 | 396 | | |
| 397 | + | |
396 | 398 | | |
397 | 399 | | |
398 | 400 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2280 | 2280 | | |
2281 | 2281 | | |
2282 | 2282 | | |
| 2283 | + | |
2283 | 2284 | | |
2284 | 2285 | | |
2285 | 2286 | | |
| |||
2382 | 2383 | | |
2383 | 2384 | | |
2384 | 2385 | | |
| 2386 | + | |
2385 | 2387 | | |
2386 | 2388 | | |
2387 | 2389 | | |
| |||
2867 | 2869 | | |
2868 | 2870 | | |
2869 | 2871 | | |
| 2872 | + | |
2870 | 2873 | | |
2871 | 2874 | | |
2872 | 2875 | | |
2873 | 2876 | | |
2874 | 2877 | | |
2875 | 2878 | | |
| 2879 | + | |
2876 | 2880 | | |
2877 | 2881 | | |
2878 | 2882 | | |
| |||
2921 | 2925 | | |
2922 | 2926 | | |
2923 | 2927 | | |
| 2928 | + | |
2924 | 2929 | | |
2925 | 2930 | | |
2926 | 2931 | | |
2927 | 2932 | | |
2928 | 2933 | | |
2929 | 2934 | | |
| 2935 | + | |
2930 | 2936 | | |
2931 | 2937 | | |
2932 | 2938 | | |
| |||
0 commit comments