prevent buffer overflow in get_data (closes #26171)

This commit is contained in:
Benjamin Peterson 2016-01-20 22:23:44 -08:00
parent ef9cf08352
commit c4032da201
2 changed files with 8 additions and 0 deletions

View File

@ -10,6 +10,9 @@ Release date: tba
Core and Builtins
-----------------
- Issue #26171: Fix possible integer overflow and heap corruption in
zipimporter.get_data().
Library
-------

View File

@ -1111,6 +1111,11 @@ get_data(PyObject *archive, PyObject *toc_entry)
}
file_offset += l; /* Start of file data */
if (data_size > LONG_MAX - 1) {
fclose(fp);
PyErr_NoMemory();
return NULL;
}
bytes_size = compress == 0 ? data_size : data_size + 1;
if (bytes_size == 0)
bytes_size++;