[Python-checkins] bpo-33234: Simplify list_preallocate_exact() (GH-11220)
Pablo Galindo
webhook-mailer at python.org
Sat Dec 29 17:31:40 EST 2018
https://github.com/python/cpython/commit/0e5f771f38138714415f665651de7e674fcebc38
commit: 0e5f771f38138714415f665651de7e674fcebc38
branch: master
author: Sergey Fedoseev <fedoseev.sergey at gmail.com>
committer: Pablo Galindo <Pablogsal at gmail.com>
date: 2018-12-29T22:31:36Z
summary:
bpo-33234: Simplify list_preallocate_exact() (GH-11220)
files:
M Objects/listobject.c
diff --git a/Objects/listobject.c b/Objects/listobject.c
index b1f2b59db0a7..17c37ba97560 100644
--- a/Objects/listobject.c
+++ b/Objects/listobject.c
@@ -81,26 +81,15 @@ static int
list_preallocate_exact(PyListObject *self, Py_ssize_t size)
{
assert(self->ob_item == NULL);
+ assert(size > 0);
- PyObject **items;
- size_t allocated;
-
- allocated = (size_t)size;
- if (allocated > (size_t)PY_SSIZE_T_MAX / sizeof(PyObject *)) {
- PyErr_NoMemory();
- return -1;
- }
-
- if (size == 0) {
- allocated = 0;
- }
- items = (PyObject **)PyMem_New(PyObject*, allocated);
+ PyObject **items = PyMem_New(PyObject*, size);
if (items == NULL) {
PyErr_NoMemory();
return -1;
}
self->ob_item = items;
- self->allocated = allocated;
+ self->allocated = size;
return 0;
}
More information about the Python-checkins
mailing list