Commit 59865e7f authored by Serhiy Storchaka's avatar Serhiy Storchaka

Issue #26200: Restored more safe usages of Py_SETREF.

parents a29f7204 864b63c3
......@@ -3439,14 +3439,14 @@ dec_as_integer_ratio(PyObject *self, PyObject *args UNUSED)
goto error;
}
Py_XSETREF(exponent, long_methods->nb_power(tmp, exponent, Py_None));
Py_SETREF(exponent, long_methods->nb_power(tmp, exponent, Py_None));
Py_DECREF(tmp);
if (exponent == NULL) {
goto error;
}
if (exp >= 0) {
Py_XSETREF(numerator, long_methods->nb_multiply(numerator, exponent));
Py_SETREF(numerator, long_methods->nb_multiply(numerator, exponent));
if (numerator == NULL) {
goto error;
}
......@@ -3462,8 +3462,8 @@ dec_as_integer_ratio(PyObject *self, PyObject *args UNUSED)
if (tmp == NULL) {
goto error;
}
Py_XSETREF(numerator, long_methods->nb_floor_divide(numerator, tmp));
Py_XSETREF(denominator, long_methods->nb_floor_divide(denominator, tmp));
Py_SETREF(numerator, long_methods->nb_floor_divide(numerator, tmp));
Py_SETREF(denominator, long_methods->nb_floor_divide(denominator, tmp));
Py_DECREF(tmp);
if (numerator == NULL || denominator == NULL) {
goto error;
......
......@@ -294,9 +294,9 @@ partial_setstate(partialobject *pto, PyObject *state)
else
Py_INCREF(dict);
Py_XSETREF(pto->fn, fn);
Py_XSETREF(pto->args, fnargs);
Py_XSETREF(pto->kw, kw);
Py_SETREF(pto->fn, fn);
Py_SETREF(pto->args, fnargs);
Py_SETREF(pto->kw, kw);
Py_XSETREF(pto->dict, dict);
Py_RETURN_NONE;
}
......
......@@ -1494,13 +1494,13 @@ float_as_integer_ratio(PyObject *v, PyObject *unused)
/* fold in 2**exponent */
if (exponent > 0) {
Py_XSETREF(numerator,
Py_SETREF(numerator,
long_methods->nb_lshift(numerator, py_exponent));
if (numerator == NULL)
goto error;
}
else {
Py_XSETREF(denominator,
Py_SETREF(denominator,
long_methods->nb_lshift(denominator, py_exponent));
if (denominator == NULL)
goto error;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment