@@ -218,9 +218,7 @@ Pdata_grow(Pdata *self)
218
218
if (new_allocated > PY_SSIZE_T_MAX - allocated )
219
219
goto nomemory ;
220
220
new_allocated += allocated ;
221
- if (new_allocated > (PY_SSIZE_T_MAX / sizeof (PyObject * )))
222
- goto nomemory ;
223
- data = PyMem_REALLOC (data , new_allocated * sizeof (PyObject * ));
221
+ PyMem_RESIZE (data , PyObject * , new_allocated );
224
222
if (data == NULL )
225
223
goto nomemory ;
226
224
@@ -433,7 +431,7 @@ PyMemoTable_Copy(PyMemoTable *self)
433
431
/* The table we get from _New() is probably smaller than we wanted.
434
432
Free it and allocate one that's the right size. */
435
433
PyMem_FREE (new -> mt_table );
436
- new -> mt_table = PyMem_MALLOC ( self -> mt_allocated * sizeof ( PyMemoEntry ) );
434
+ new -> mt_table = PyMem_NEW ( PyMemoEntry , self -> mt_allocated );
437
435
if (new -> mt_table == NULL ) {
438
436
PyMem_FREE (new );
439
437
return NULL ;
@@ -527,7 +525,7 @@ _PyMemoTable_ResizeTable(PyMemoTable *self, Py_ssize_t min_size)
527
525
528
526
/* Allocate new table. */
529
527
oldtable = self -> mt_table ;
530
- self -> mt_table = PyMem_MALLOC ( new_size * sizeof ( PyMemoEntry ) );
528
+ self -> mt_table = PyMem_NEW ( PyMemoEntry , new_size );
531
529
if (self -> mt_table == NULL ) {
532
530
PyMem_FREE (oldtable );
533
531
PyErr_NoMemory ();
@@ -1055,16 +1053,14 @@ static int
1055
1053
_Unpickler_ResizeMemoList (UnpicklerObject * self , Py_ssize_t new_size )
1056
1054
{
1057
1055
Py_ssize_t i ;
1058
- PyObject * * memo ;
1059
1056
1060
1057
assert (new_size > self -> memo_size );
1061
1058
1062
- memo = PyMem_REALLOC (self -> memo , new_size * sizeof ( PyObject * ) );
1063
- if (memo == NULL ) {
1059
+ PyMem_RESIZE (self -> memo , PyObject * , new_size );
1060
+ if (self -> memo == NULL ) {
1064
1061
PyErr_NoMemory ();
1065
1062
return -1 ;
1066
1063
}
1067
- self -> memo = memo ;
1068
1064
for (i = self -> memo_size ; i < new_size ; i ++ )
1069
1065
self -> memo [i ] = NULL ;
1070
1066
self -> memo_size = new_size ;
@@ -1103,7 +1099,7 @@ _Unpickler_MemoPut(UnpicklerObject *self, Py_ssize_t idx, PyObject *value)
1103
1099
static PyObject * *
1104
1100
_Unpickler_NewMemo (Py_ssize_t new_size )
1105
1101
{
1106
- PyObject * * memo = PyMem_MALLOC ( new_size * sizeof ( PyObject * ) );
1102
+ PyObject * * memo = PyMem_NEW ( PyObject * , new_size );
1107
1103
if (memo == NULL )
1108
1104
return NULL ;
1109
1105
memset (memo , 0 , new_size * sizeof (PyObject * ));
@@ -5270,7 +5266,6 @@ load_mark(UnpicklerObject *self)
5270
5266
5271
5267
if ((self -> num_marks + 1 ) >= self -> marks_size ) {
5272
5268
size_t alloc ;
5273
- Py_ssize_t * marks ;
5274
5269
5275
5270
/* Use the size_t type to check for overflow. */
5276
5271
alloc = ((size_t )self -> num_marks << 1 ) + 20 ;
@@ -5281,15 +5276,14 @@ load_mark(UnpicklerObject *self)
5281
5276
}
5282
5277
5283
5278
if (self -> marks == NULL )
5284
- marks = (Py_ssize_t * ) PyMem_Malloc ( alloc * sizeof ( Py_ssize_t ) );
5279
+ self -> marks = PyMem_NEW (Py_ssize_t , alloc );
5285
5280
else
5286
- marks = ( Py_ssize_t * ) PyMem_Realloc ( self -> marks ,
5287
- alloc * sizeof ( Py_ssize_t ));
5288
- if ( marks == NULL ) {
5281
+ PyMem_RESIZE ( self -> marks , Py_ssize_t , alloc );
5282
+ if ( self -> marks == NULL ) {
5283
+ self -> marks_size = 0 ;
5289
5284
PyErr_NoMemory ();
5290
5285
return -1 ;
5291
5286
}
5292
- self -> marks = marks ;
5293
5287
self -> marks_size = (Py_ssize_t )alloc ;
5294
5288
}
5295
5289
0 commit comments