Repository navigation
Commit 595e4bb
In the free-threaded build, dict() and dict.update() checked that a
list key/value pair had two items and then read them with borrowed
references without holding its lock, so another thread could empty
the list in between and the items were read from a freed or NULL
array.
(cherry picked from commit eaab974)
Co-authored-by: Christian Aurich Zanettini Martins <christian.aurichzm@gmail.com>
1 parent 15799d3 commit 595e4bb
3 files changed
Lines changed: 34 additions & 6 deletions
File tree
- Lib/test/test_free_threading
- Misc/NEWS.d/next/Core_and_Builtins
- Objects
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
| 8 | + | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| |||
437 | 437 | | |
438 | 438 | | |
439 | 439 | | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
440 | 463 | | |
441 | 464 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4066 | 4066 | | |
4067 | 4067 | | |
4068 | 4068 | | |
4069 | | - | |
| 4069 | + | |
4070 | 4070 | | |
4071 | 4071 | | |
4072 | 4072 | | |
| |||
4088 | 4088 | | |
4089 | 4089 | | |
4090 | 4090 | | |
| 4091 | + | |
4091 | 4092 | | |
| 4093 | + | |
| 4094 | + | |
| 4095 | + | |
| 4096 | + | |
| 4097 | + | |
4092 | 4098 | | |
4093 | 4099 | | |
4094 | 4100 | | |
| |||
4098 | 4104 | | |
4099 | 4105 | | |
4100 | 4106 | | |
4101 | | - | |
4102 | | - | |
4103 | | - | |
4104 | | - | |
4105 | 4107 | | |
4106 | 4108 | | |
4107 | 4109 | | |
| |||
0 commit comments