10000 bpo-1621: Avoid relying on signed overflow in _PyMemoTable_ResizeTable. · python/cpython@ea95daa · GitHub
[go: up one dir, main page]

Skip to content

Commit ea95daa

Browse files
committed
bpo-1621: Avoid relying on signed overflow in _PyMemoTable_ResizeTable.
1 parent ed709d5 commit ea95daa

File tree

1 file changed

+2
-6
lines changed

1 file changed

+2
-6
lines changed

Modules/_pickle.c

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -825,18 +825,14 @@ _PyMemoTable_ResizeTable(PyMemoTable *self, Py_ssize_t min_size)
825825
{
826826
PyMemoEntry *oldtable = NULL;
827827
PyMemoEntry *oldentry, *newentry;
828-
Py_ssize_t new_size = MT_MINSIZE;
828+
size_t new_size = MT_MINSIZE;
829829
Py_ssize_t to_process;
830830

831831
assert(min_size > 0);
832832

833833
/* Find the smallest valid table size >= min_size. */
834-
while (new_size < min_size && new_size > 0)
834+
while (new_size < min_size)
835835
new_size <<= 1;
836-
if (new_size <= 0) {
837-
PyErr_NoMemory();
838-
return -1;
839-
}
840836
/* new_size needs to be a power of two. */
841837
assert((new_size & (new_size - 1)) == 0);
842838

0 commit comments

Comments
 (0)
0