summaryrefslogtreecommitdiffstats
path: root/Modules/_decimal
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2023-07-18 06:00:22 (GMT)
committerGitHub <noreply@github.com>2023-07-18 06:00:22 (GMT)
commit745492355b94d109e47827e5865846f25ae42d26 (patch)
tree05322d5676224157285b9f0daaf629e643a8778b /Modules/_decimal
parente1c295e3da9ff5a3eb6b009a1f821d80e564ac87 (diff)
downloadcpython-745492355b94d109e47827e5865846f25ae42d26.zip
cpython-745492355b94d109e47827e5865846f25ae42d26.tar.gz
cpython-745492355b94d109e47827e5865846f25ae42d26.tar.bz2
gh-86493: Fix possible leaks in modules initialization: _curses_panel, _decimal, posix, xxsubtype (GH-106767)
Diffstat (limited to 'Modules/_decimal')
-rw-r--r--Modules/_decimal/_decimal.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/Modules/_decimal/_decimal.c b/Modules/_decimal/_decimal.c
index e3dc304..f9dc6e8 100644
--- a/Modules/_decimal/_decimal.c
+++ b/Modules/_decimal/_decimal.c
@@ -5957,7 +5957,7 @@ PyInit__decimal(void)
Py_DECREF(base);
/* add to module */
- CHECK_INT(PyModule_AddObject(m, cm->name, Py_NewRef(cm->ex)));
+ CHECK_INT(PyModule_AddObjectRef(m, cm->name, cm->ex));
/* add to signal tuple */
PyTuple_SET_ITEM(state->SignalTuple, i, Py_NewRef(cm->ex));
@@ -5986,39 +5986,39 @@ PyInit__decimal(void)
ASSIGN_PTR(cm->ex, PyErr_NewException(cm->fqname, base, NULL));
Py_DECREF(base);
- CHECK_INT(PyModule_AddObject(m, cm->name, Py_NewRef(cm->ex)));
+ CHECK_INT(PyModule_AddObjectRef(m, cm->name, cm->ex));
}
/* Init default context template first */
ASSIGN_PTR(state->default_context_template,
PyObject_CallObject((PyObject *)state->PyDecContext_Type, NULL));
- CHECK_INT(PyModule_AddObject(m, "DefaultContext",
- Py_NewRef(state->default_context_template)));
+ CHECK_INT(PyModule_AddObjectRef(m, "DefaultContext",
+ state->default_context_template));
#ifndef WITH_DECIMAL_CONTEXTVAR
ASSIGN_PTR(state->tls_context_key,
PyUnicode_FromString("___DECIMAL_CTX__"));
- CHECK_INT(PyModule_AddObject(m, "HAVE_CONTEXTVAR", Py_NewRef(Py_False)));
+ CHECK_INT(PyModule_AddObjectRef(m, "HAVE_CONTEXTVAR", Py_False));
#else
ASSIGN_PTR(state->current_context_var, PyContextVar_New("decimal_context", NULL));
- CHECK_INT(PyModule_AddObject(m, "HAVE_CONTEXTVAR", Py_NewRef(Py_True)));
+ CHECK_INT(PyModule_AddObjectRef(m, "HAVE_CONTEXTVAR", Py_True));
#endif
- CHECK_INT(PyModule_AddObject(m, "HAVE_THREADS", Py_NewRef(Py_True)));
+ CHECK_INT(PyModule_AddObjectRef(m, "HAVE_THREADS", Py_True));
/* Init basic context template */
ASSIGN_PTR(state->basic_context_template,
PyObject_CallObject((PyObject *)state->PyDecContext_Type, NULL));
init_basic_context(state->basic_context_template);
- CHECK_INT(PyModule_AddObject(m, "BasicContext",
- Py_NewRef(state->basic_context_template)));
+ CHECK_INT(PyModule_AddObjectRef(m, "BasicContext",
+ state->basic_context_template));
/* Init extended context template */
ASSIGN_PTR(state->extended_context_template,
PyObject_CallObject((PyObject *)state->PyDecContext_Type, NULL));
init_extended_context(state->extended_context_template);
- CHECK_INT(PyModule_AddObject(m, "ExtendedContext",
- Py_NewRef(state->extended_context_template)));
+ CHECK_INT(PyModule_AddObjectRef(m, "ExtendedContext",
+ state->extended_context_template));
/* Init mpd_ssize_t constants */
@@ -6037,7 +6037,7 @@ PyInit__decimal(void)
/* Init string constants */
for (i = 0; i < _PY_DEC_ROUND_GUARD; i++) {
ASSIGN_PTR(state->round_map[i], PyUnicode_InternFromString(mpd_round_string[i]));
- CHECK_INT(PyModule_AddObject(m, mpd_round_string[i], Py_NewRef(state->round_map[i])));
+ CHECK_INT(PyModule_AddObjectRef(m, mpd_round_string[i], state->round_map[i]));
}
/* Add specification version number */