Fix memory leak when deserializing invalid data (Bugzilla 2075).
This commit is contained in:
parent
8e4eb8dbc8
commit
e105a0f83f
|
@ -71,6 +71,8 @@ available, and into a new section that is always compiled for Windows.
|
||||||
10. In pcre2test, explicitly close the file after an error during serialization
|
10. In pcre2test, explicitly close the file after an error during serialization
|
||||||
or deserialization (the "load" or "save" commands).
|
or deserialization (the "load" or "save" commands).
|
||||||
|
|
||||||
|
11. Fix memory leak in pcre2_serialize_decode() when the input is invalid.
|
||||||
|
|
||||||
|
|
||||||
Version 10.23 14-February-2017
|
Version 10.23 14-February-2017
|
||||||
------------------------------
|
------------------------------
|
||||||
|
|
|
@ -7,7 +7,7 @@ and semantics are as close as possible to those of the Perl 5 language.
|
||||||
|
|
||||||
Written by Philip Hazel
|
Written by Philip Hazel
|
||||||
Original API code Copyright (c) 1997-2012 University of Cambridge
|
Original API code Copyright (c) 1997-2012 University of Cambridge
|
||||||
New API code Copyright (c) 2016 University of Cambridge
|
New API code Copyright (c) 2016-2017 University of Cambridge
|
||||||
|
|
||||||
-----------------------------------------------------------------------------
|
-----------------------------------------------------------------------------
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
@ -214,7 +214,10 @@ for (i = 0; i < number_of_codes; i++)
|
||||||
if (dst_re->magic_number != MAGIC_NUMBER ||
|
if (dst_re->magic_number != MAGIC_NUMBER ||
|
||||||
dst_re->name_entry_size > MAX_NAME_SIZE + IMM2_SIZE + 1 ||
|
dst_re->name_entry_size > MAX_NAME_SIZE + IMM2_SIZE + 1 ||
|
||||||
dst_re->name_count > MAX_NAME_COUNT)
|
dst_re->name_count > MAX_NAME_COUNT)
|
||||||
|
{
|
||||||
|
memctl->free(dst_re, memctl->memory_data);
|
||||||
return PCRE2_ERROR_BADSERIALIZEDDATA;
|
return PCRE2_ERROR_BADSERIALIZEDDATA;
|
||||||
|
}
|
||||||
|
|
||||||
/* At the moment only one table is supported. */
|
/* At the moment only one table is supported. */
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue