summaryrefslogtreecommitdiffstats
path: root/Modules/posixmodule.c
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2023-07-19 06:40:38 (GMT)
committerGitHub <noreply@github.com>2023-07-19 06:40:38 (GMT)
commitfced79f91e186dd6a608221ad7cee2eeb443c40d (patch)
tree1fb2424e9896c609fde2f1b3675ba106c9c55466 /Modules/posixmodule.c
parent0c47ed7bbf156e9fc01e276ef053206f3e6a3e62 (diff)
downloadcpython-fced79f91e186dd6a608221ad7cee2eeb443c40d.zip
cpython-fced79f91e186dd6a608221ad7cee2eeb443c40d.tar.gz
cpython-fced79f91e186dd6a608221ad7cee2eeb443c40d.tar.bz2
[3.11] gh-86493: Fix possible leaks in some modules initialization (GH-106768) (GH-106855) (GH-106863)
[3.11] [3.12] gh-86493: Fix possible leaks in some modules initialization (GH-106768) (GH-106855) Fix _ssl, _stat, _testinternalcapi, _threadmodule, cmath, math, posix, time. (cherry picked from commit 3e65baee72131b49f4ce8ca2da568a6f2001ce93). (cherry picked from commit a423ddbdeada8a2fd8657453b9e9f58ba0dd921d)
Diffstat (limited to 'Modules/posixmodule.c')
-rw-r--r--Modules/posixmodule.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
index 91da079..c000a32 100644
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
@@ -12563,7 +12563,7 @@ setup_confname_table(struct constdef *table, size_t tablesize,
}
Py_DECREF(o);
}
- return PyModule_AddObject(module, tablename, d);
+ return _PyModule_Add(module, tablename, d);
}
/* Return -1 on failure, 0 on success. */
@@ -15837,11 +15837,9 @@ posixmodule_exec(PyObject *m)
#endif
/* Initialize environ dictionary */
- PyObject *v = convertenviron();
- Py_XINCREF(v);
- if (v == NULL || PyModule_AddObject(m, "environ", v) != 0)
+ if (_PyModule_Add(m, "environ", convertenviron()) != 0) {
return -1;
- Py_DECREF(v);
+ }
if (all_ins(m))
return -1;
@@ -15965,9 +15963,7 @@ posixmodule_exec(PyObject *m)
Py_DECREF(unicode);
}
- PyModule_AddObject(m, "_have_functions", list);
-
- return 0;
+ return _PyModule_Add(m, "_have_functions", list);
}