From 251c1b1a44f1150b27c682ab0c183a1b3aa4b2ea Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Sat, 28 Oct 2017 16:44:32 +0200 Subject: [PATCH] Fix invalid read in mb_ord() --- ext/mbstring/mbstring.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index 7bb4304aff..40938d88e8 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -4838,14 +4838,15 @@ static inline zend_long php_mb_ord(const char* str, size_t str_len, const char* mbfl_convert_filter_feed_string(filter, (const unsigned char *) str, str_len); mbfl_convert_filter_flush(filter); - mbfl_convert_filter_delete(filter); if (dev.pos < 1 || filter->num_illegalchar || dev.buffer[0] >= MBFL_WCSGROUP_UCS4MAX) { + mbfl_convert_filter_delete(filter); mbfl_wchar_device_clear(&dev); return -1; } cp = dev.buffer[0]; + mbfl_convert_filter_delete(filter); mbfl_wchar_device_clear(&dev); return cp; } -- 2.50.1