mirror of
https://github.com/python/cpython.git
synced 2025-08-03 16:39:00 +00:00
gh-86493: Fix possible leaks in some modules initialization (GH-106768)
Fix _ssl, _stat, _testinternalcapi, _threadmodule, cmath, math, posix, time.
This commit is contained in:
parent
83ac128490
commit
3e65baee72
8 changed files with 37 additions and 45 deletions
|
@ -1217,30 +1217,29 @@ static PyMethodDef cmath_methods[] = {
|
|||
static int
|
||||
cmath_exec(PyObject *mod)
|
||||
{
|
||||
if (PyModule_AddObject(mod, "pi", PyFloat_FromDouble(Py_MATH_PI)) < 0) {
|
||||
if (PyModule_Add(mod, "pi", PyFloat_FromDouble(Py_MATH_PI)) < 0) {
|
||||
return -1;
|
||||
}
|
||||
if (PyModule_AddObject(mod, "e", PyFloat_FromDouble(Py_MATH_E)) < 0) {
|
||||
if (PyModule_Add(mod, "e", PyFloat_FromDouble(Py_MATH_E)) < 0) {
|
||||
return -1;
|
||||
}
|
||||
// 2pi
|
||||
if (PyModule_AddObject(mod, "tau", PyFloat_FromDouble(Py_MATH_TAU)) < 0) {
|
||||
if (PyModule_Add(mod, "tau", PyFloat_FromDouble(Py_MATH_TAU)) < 0) {
|
||||
return -1;
|
||||
}
|
||||
if (PyModule_AddObject(mod, "inf", PyFloat_FromDouble(Py_INFINITY)) < 0) {
|
||||
if (PyModule_Add(mod, "inf", PyFloat_FromDouble(Py_INFINITY)) < 0) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
Py_complex infj = {0.0, Py_INFINITY};
|
||||
if (PyModule_AddObject(mod, "infj",
|
||||
PyComplex_FromCComplex(infj)) < 0) {
|
||||
if (PyModule_Add(mod, "infj", PyComplex_FromCComplex(infj)) < 0) {
|
||||
return -1;
|
||||
}
|
||||
if (PyModule_AddObject(mod, "nan", PyFloat_FromDouble(fabs(Py_NAN))) < 0) {
|
||||
if (PyModule_Add(mod, "nan", PyFloat_FromDouble(fabs(Py_NAN))) < 0) {
|
||||
return -1;
|
||||
}
|
||||
Py_complex nanj = {0.0, fabs(Py_NAN)};
|
||||
if (PyModule_AddObject(mod, "nanj", PyComplex_FromCComplex(nanj)) < 0) {
|
||||
if (PyModule_Add(mod, "nanj", PyComplex_FromCComplex(nanj)) < 0) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue