Commit dcea95e
committed
gh-155493: Fix crash in decimal SignalDict on re-entrant Context teardown
signaldict_setitem and signaldict_richcompare read the borrowed flags
pointer after PyObject_IsTrue calls the value's __bool__, which can
deallocate the owning Context. gh-146011 added this guard to
signaldict_repr; this extends it to the two remaining methods.1 parent b2c7b34 commit dcea95e
3 files changed
Lines changed: 40 additions & 0 deletions
File tree
- Lib/test
- Misc/NEWS.d/next/Library
- Modules/_decimal
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2988 | 2988 | | |
2989 | 2989 | | |
2990 | 2990 | | |
| 2991 | + | |
| 2992 | + | |
| 2993 | + | |
| 2994 | + | |
| 2995 | + | |
| 2996 | + | |
| 2997 | + | |
| 2998 | + | |
| 2999 | + | |
| 3000 | + | |
| 3001 | + | |
| 3002 | + | |
| 3003 | + | |
| 3004 | + | |
| 3005 | + | |
| 3006 | + | |
| 3007 | + | |
| 3008 | + | |
| 3009 | + | |
| 3010 | + | |
| 3011 | + | |
| 3012 | + | |
| 3013 | + | |
| 3014 | + | |
| 3015 | + | |
| 3016 | + | |
| 3017 | + | |
| 3018 | + | |
2991 | 3019 | | |
2992 | 3020 | | |
2993 | 3021 | | |
| |||
Lines changed: 3 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
740 | 740 | | |
741 | 741 | | |
742 | 742 | | |
| 743 | + | |
| 744 | + | |
| 745 | + | |
| 746 | + | |
| 747 | + | |
743 | 748 | | |
744 | 749 | | |
745 | 750 | | |
| |||
814 | 819 | | |
815 | 820 | | |
816 | 821 | | |
| 822 | + | |
| 823 | + | |
| 824 | + | |
| 825 | + | |
817 | 826 | | |
818 | 827 | | |
819 | 828 | | |
| |||
0 commit comments