diff options
-rw-r--r-- | NEWS | 4 | ||||
-rw-r--r-- | main/streams/filter.c | 6 |
2 files changed, 7 insertions, 3 deletions
@@ -39,6 +39,10 @@ PHP NEWS . Fixed bug #73118 (is_callable callable name reports misleading value for anonymous classes). (Adam Saponara) +- Streams: + . Fixed bug #73496 (Invalid memory access in zend_inline_hash_func). + (Laruence) + 16 Feb 2017 PHP 7.0.16 diff --git a/main/streams/filter.c b/main/streams/filter.c index ecb4f5982a..6d38869556 100644 --- a/main/streams/filter.c +++ b/main/streams/filter.c @@ -252,10 +252,10 @@ PHPAPI php_stream_filter *php_stream_filter_create(const char *filtername, zval HashTable *filter_hash = (FG(stream_filters) ? FG(stream_filters) : &stream_filters_hash); php_stream_filter_factory *factory = NULL; php_stream_filter *filter = NULL; - int n; + size_t n; char *period; - n = (int)strlen(filtername); + n = strlen(filtername); if (NULL != (factory = zend_hash_str_find_ptr(filter_hash, filtername, n))) { filter = factory->create_filter(filtername, filterparams, persistent); @@ -263,7 +263,7 @@ PHPAPI php_stream_filter *php_stream_filter_create(const char *filtername, zval /* try a wildcard */ char *wildname; - wildname = emalloc(n+3); + wildname = safe_emalloc(1, n, 3); memcpy(wildname, filtername, n+1); period = wildname + (period - filtername); while (period && !filter) { |