-
-
Notifications
You must be signed in to change notification settings - Fork 32.4k
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
static inline int _Py_EnterRecursiveCallTstate(PyThreadState *tstate, | |
const char *where) { | |
return (_Py_MakeRecCheck(tstate) && _Py_CheckRecursiveCall(tstate, where)); | |
} | |
static inline int _Py_EnterRecursiveCall(const char *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