Merge pull request #3219 from DerDakon/invalid-free

Avoid invalid free if out of memory
This commit is contained in:
Alexander Karpinsky 2018-07-22 17:06:35 +03:00 committed by GitHub
commit 90a94e7dae
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -448,7 +448,7 @@ float16tofloat32(const FLOAT16 in) {
t1 = in & 0x7fff; // Non-sign bits
t2 = in & 0x8000; // Sign bit
t3 = in & 0x7c00; // Exponent
t1 <<= 13; // Align mantissa on MSB
t2 <<= 16; // Shift sign bit into position
@ -778,7 +778,8 @@ _prepare_lut_table(PyObject* table, Py_ssize_t table_size)
/* malloc check ok, max is 2 * 4 * 65**3 = 2197000 */
prepared = (INT16*) malloc(sizeof(INT16) * table_size);
if ( ! prepared) {
free(table_data);
if (free_table_data)
free(table_data);
return (INT16*) PyErr_NoMemory();
}