Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 33.9k
Closed
Labels
type-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
Description
Using grep, I identified 3 instances in main where code checks if Py_EnterRecursiveCall(...) < 0 (which just returns _Py_EnterRecursiveCall(...)) or _Py_EnterRecursiveCall(...) < 0.
Py_EnterRecursiveCall()documentation only guarantees that a nonzero value is returned in the event of an error.- The actual implementation can't return a negative value:
cpython/Include/internal/pycore_ceval.h
Lines 130 to 138 in 7644935
| staticinlineint_Py_EnterRecursiveCallTstate(PyThreadState*tstate, | |
| constchar*where){ | |
| return (_Py_MakeRecCheck(tstate) &&_Py_CheckRecursiveCall(tstate, where)); | |
| } | |
| staticinlineint_Py_EnterRecursiveCall(constchar*where){ | |
| PyThreadState*tstate=_PyThreadState_GET(); | |
| return_Py_EnterRecursiveCallTstate(tstate, where); | |
| } |
Linked PRs
Metadata
Metadata
Assignees
Labels
type-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error