@@ -267,7 +267,7 @@ typedef struct {
267
267
LOCAL (int )
268
268
create_extra (ElementObject * self , PyObject * attrib )
269
269
{
270
- self -> extra = PyObject_Malloc (sizeof (ElementObjectExtra ));
270
+ self -> extra = PyMem_Malloc (sizeof (ElementObjectExtra ));
271
271
if (!self -> extra ) {
272
272
PyErr_NoMemory ();
273
273
return -1 ;
@@ -295,10 +295,11 @@ dealloc_extra(ElementObjectExtra *extra)
295
295
for (i = 0 ; i < extra -> length ; i ++ )
296
296
Py_DECREF (extra -> children [i ]);
297
297
298
- if (extra -> children != extra -> _children )
299
- PyObject_Free (extra -> children );
298
+ if (extra -> children != extra -> _children ) {
299
+ PyMem_Free (extra -> children );
300
+ }
300
301
301
- PyObject_Free (extra );
302
+ PyMem_Free (extra );
302
303
}
303
304
304
305
LOCAL (void )
@@ -495,14 +496,16 @@ element_resize(ElementObject* self, Py_ssize_t extra)
495
496
* "children", which needs at least 4 bytes. Although it's a
496
497
* false alarm always assume at least one child to be safe.
497
498
*/
498
- children = PyObject_Realloc (self -> extra -> children ,
499
- size * sizeof (PyObject * ));
500
- if (!children )
499
+ children = PyMem_Realloc (self -> extra -> children ,
500
+ size * sizeof (PyObject * ));
501
+ if (!children ) {
501
502
goto nomemory ;
503
+ }
502
504
} else {
503
- children = PyObject_Malloc (size * sizeof (PyObject * ));
504
- if (!children )
505
+ children = PyMem_Malloc (size * sizeof (PyObject * ));
506
+ if (!children ) {
505
507
goto nomemory ;
508
+ }
506
509
/* copy existing children from static area to malloc buffer */
507
510
memcpy (children , self -> extra -> children ,
508
511
self -> extra -> length * sizeof (PyObject * ));
@@ -3044,7 +3047,7 @@ _elementtree_TreeBuilder_start_impl(TreeBuilderObject *self, PyObject *tag,
3044
3047
#define EXPAT (st , func ) ((st)->expat_capi->func)
3045
3048
3046
3049
static XML_Memory_Handling_Suite ExpatMemoryHandler = {
3047
- PyObject_Malloc , PyObject_Realloc , PyObject_Free };
3050
+ PyMem_Malloc , PyMem_Realloc , PyMem_Free };
3048
3051
3049
3052
typedef struct {
3050
3053
PyObject_HEAD
0 commit comments