summaryrefslogtreecommitdiffstats
path: root/Modules/_elementtree.c
diff options
context:
space:
mode:
authorErlend E. Aasland <erlend@python.org>2024-01-26 10:11:35 (GMT)
committerGitHub <noreply@github.com>2024-01-26 10:11:35 (GMT)
commitdcd28b5c35dda8e2cb7c5f66450f2aff0948c001 (patch)
tree901906c90bedd8d602dcdfd114230b2dd903301c /Modules/_elementtree.c
parentd0f7f5c41d71758c59f9372a192e927d73cf7c27 (diff)
downloadcpython-dcd28b5c35dda8e2cb7c5f66450f2aff0948c001.zip
cpython-dcd28b5c35dda8e2cb7c5f66450f2aff0948c001.tar.gz
cpython-dcd28b5c35dda8e2cb7c5f66450f2aff0948c001.tar.bz2
gh-114569: Use PyMem_* APIs for most non-PyObject uses (#114574)
Fix usage in Modules, Objects, and Parser subdirectories.
Diffstat (limited to 'Modules/_elementtree.c')
-rw-r--r--Modules/_elementtree.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/Modules/_elementtree.c b/Modules/_elementtree.c
index b574c96..5445108 100644
--- a/Modules/_elementtree.c
+++ b/Modules/_elementtree.c
@@ -267,7 +267,7 @@ typedef struct {
LOCAL(int)
create_extra(ElementObject* self, PyObject* attrib)
{
- self->extra = PyObject_Malloc(sizeof(ElementObjectExtra));
+ self->extra = PyMem_Malloc(sizeof(ElementObjectExtra));
if (!self->extra) {
PyErr_NoMemory();
return -1;
@@ -295,10 +295,11 @@ dealloc_extra(ElementObjectExtra *extra)
for (i = 0; i < extra->length; i++)
Py_DECREF(extra->children[i]);
- if (extra->children != extra->_children)
- PyObject_Free(extra->children);
+ if (extra->children != extra->_children) {
+ PyMem_Free(extra->children);
+ }
- PyObject_Free(extra);
+ PyMem_Free(extra);
}
LOCAL(void)
@@ -495,14 +496,16 @@ element_resize(ElementObject* self, Py_ssize_t extra)
* "children", which needs at least 4 bytes. Although it's a
* false alarm always assume at least one child to be safe.
*/
- children = PyObject_Realloc(self->extra->children,
- size * sizeof(PyObject*));
- if (!children)
+ children = PyMem_Realloc(self->extra->children,
+ size * sizeof(PyObject*));
+ if (!children) {
goto nomemory;
+ }
} else {
- children = PyObject_Malloc(size * sizeof(PyObject*));
- if (!children)
+ children = PyMem_Malloc(size * sizeof(PyObject*));
+ if (!children) {
goto nomemory;
+ }
/* copy existing children from static area to malloc buffer */
memcpy(children, self->extra->children,
self->extra->length * sizeof(PyObject*));
@@ -3044,7 +3047,7 @@ _elementtree_TreeBuilder_start_impl(TreeBuilderObject *self, PyObject *tag,
#define EXPAT(st, func) ((st)->expat_capi->func)
static XML_Memory_Handling_Suite ExpatMemoryHandler = {
- PyObject_Malloc, PyObject_Realloc, PyObject_Free};
+ PyMem_Malloc, PyMem_Realloc, PyMem_Free};
typedef struct {
PyObject_HEAD