https://github.com/python/cpython/commit/03775472cc69e150ced22dc30334a7a202fc0380
commit: 03775472cc69e150ced22dc30334a7a202fc0380
branch: main
author: Victor Stinner <[email protected]>
committer: vstinner <[email protected]>
date: 2024-10-07T19:54:42+02:00
summary:
Use _PyLong_GetOne() and _PyLong_GetZero() in long_invmod() (#125044)
These functions cannot fail.
files:
M Objects/longobject.c
diff --git a/Objects/longobject.c b/Objects/longobject.c
index 6ca8d449bcf4a2..4e948940485730 100644
--- a/Objects/longobject.c
+++ b/Objects/longobject.c
@@ -4828,21 +4828,12 @@ long_divmod(PyObject *a, PyObject *b)
static PyLongObject *
long_invmod(PyLongObject *a, PyLongObject *n)
{
- PyLongObject *b, *c;
-
/* Should only ever be called for positive n */
assert(_PyLong_IsPositive(n));
- b = (PyLongObject *)PyLong_FromLong(1L);
- if (b == NULL) {
- return NULL;
- }
- c = (PyLongObject *)PyLong_FromLong(0L);
- if (c == NULL) {
- Py_DECREF(b);
- return NULL;
- }
Py_INCREF(a);
+ PyLongObject *b = (PyLongObject *)Py_NewRef(_PyLong_GetOne());
+ PyLongObject *c = (PyLongObject *)Py_NewRef(_PyLong_GetZero());
Py_INCREF(n);
/* references now owned: a, b, c, n */
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]