Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.
Sign upbpo-38588: Fix possible crashes in dict and list when calling PyObject_RichCompareBool #17734
Conversation
This comment has been minimized.
This comment has been minimized.
Could you include the rest of the cases that LCatro was mentioning? He mentioned another 2 for lists. |
This comment has been minimized.
This comment has been minimized.
poc3 is not reproducible on my local mac machine and Linux machine with the master branch. Line 452 in 3c87a66 However poc2 is reproducible, so I will add the patch on this PR. $ cat poc3.py
class poc() :
def __eq__(self,other) :
list1.clear()
return NotImplemented
list1 = [ set() ]
poc() in list1
print('end')
$ ./python poc3.py
end |
This comment has been minimized.
This comment has been minimized.
FWIW, LCatro had opened another issue (https://bugs.python.org/issue38610) for similar crashes in the |
This comment has been minimized.
This comment has been minimized.
@pablogsal And for the And IMHO, we can close bpo-38588 with this patch |
This comment has been minimized.
This comment has been minimized.
@pablogsal Updated! |
2d5bf56
into
python:master
This comment has been minimized.
This comment has been minimized.
miss-islington
commented
Dec 31, 2019
Thanks @corona10 for the PR, and @pablogsal for merging it |
This comment has been minimized.
This comment has been minimized.
miss-islington
commented
Dec 31, 2019
I'm having trouble backporting to |
This comment has been minimized.
This comment has been minimized.
miss-islington
commented
Dec 31, 2019
Sorry, @corona10 and @pablogsal, I could not cleanly backport this to |
This comment has been minimized.
This comment has been minimized.
@corona10 Can you make the backport to 3.7 and 3.8 using |
This comment has been minimized.
This comment has been minimized.
miss-islington
commented
Dec 31, 2019
Thanks @corona10 for the PR, and @pablogsal for merging it |
This comment has been minimized.
This comment has been minimized.
miss-islington
commented
Dec 31, 2019
Sorry @corona10 and @pablogsal, I had trouble checking out the |
This comment has been minimized.
This comment has been minimized.
bedevere-bot
commented
Dec 31, 2019
GH-17764 is a backport of this pull request to the 3.8 branch. |
…yObject_RichCompareBool (pythonGH-17734) Take strong references before calling PyObject_RichCompareBool to protect against the case where the object dies during the call. (cherry picked from commit 2d5bf56) Co-authored-by: Dong-hee Na <donghee.na92@gmail.com>
This comment has been minimized.
This comment has been minimized.
Oh, please check the b.p.o before merge... |
This comment has been minimized.
This comment has been minimized.
Apologies, I had totally missed the comment in bpo :( |
This comment has been minimized.
This comment has been minimized.
bedevere-bot
commented
Dec 31, 2019
GH-17765 is a backport of this pull request to the 3.7 branch. |
This comment has been minimized.
This comment has been minimized.
Sorry @corona10, I will leave the backports open until we decide what to do finally in the bpo issue. |
This comment has been minimized.
This comment has been minimized.
@pablogsal cc @methane |
GH-17765) * [3.7] bpo-38588: Fix possible crashes in dict and list when calling PyObject_RichCompareBool (GH-17734) Take strong references before calling PyObject_RichCompareBool to protect against the case where the object dies during the call.. (cherry picked from commit 2d5bf56) Co-authored-by: Dong-hee Na <donghee.na92@gmail.com> * methane's suggestion methane's suggestion Co-Authored-By: Inada Naoki <songofacandy@gmail.com> Co-authored-by: Inada Naoki <songofacandy@gmail.com>
GH-17764) * [3.8] bpo-38588: Fix possible crashes in dict and list when calling PyObject_RichCompareBool (GH-17734) Take strong references before calling PyObject_RichCompareBool to protect against the case where the object dies during the call. (cherry picked from commit 2d5bf56) Co-authored-by: Dong-hee Na <donghee.na92@gmail.com> * Update Objects/listobject.c @methane's suggestion Co-Authored-By: Inada Naoki <songofacandy@gmail.com> Co-authored-by: Inada Naoki <songofacandy@gmail.com>
corona10 commentedDec 29, 2019
•
edited by bedevere-bot
Based on LCatro's report
https://bugs.python.org/issue38588