changeset: 100917:144b78ac2077 parent: 100914:a8dbe6016a31 parent: 100915:aa5dbc32d313 user: Serhiy Storchaka date: Mon Apr 11 09:57:37 2016 +0300 files: Modules/_decimal/_decimal.c Objects/floatobject.c description: Issue #26200: Restored more safe usages of Py_SETREF. diff -r a8dbe6016a31 -r 144b78ac2077 Modules/_decimal/_decimal.c --- a/Modules/_decimal/_decimal.c Mon Apr 11 02:45:22 2016 +0000 +++ b/Modules/_decimal/_decimal.c Mon Apr 11 09:57:37 2016 +0300 @@ -3439,14 +3439,14 @@ 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 @@ 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; diff -r a8dbe6016a31 -r 144b78ac2077 Modules/_functoolsmodule.c --- a/Modules/_functoolsmodule.c Mon Apr 11 02:45:22 2016 +0000 +++ b/Modules/_functoolsmodule.c Mon Apr 11 09:57:37 2016 +0300 @@ -294,9 +294,9 @@ 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; } diff -r a8dbe6016a31 -r 144b78ac2077 Objects/floatobject.c --- a/Objects/floatobject.c Mon Apr 11 02:45:22 2016 +0000 +++ b/Objects/floatobject.c Mon Apr 11 09:57:37 2016 +0300 @@ -1494,13 +1494,13 @@ /* 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;