We must not release parsed parameters ourselves, since this is already
done by the engine.
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? 2018, PHP 7.2.6
+- EXIF:
+ . Fixed bug #76164 (exif_read_data zend_mm_heap corrupted). (cmb)
+
- Session:
. Fixed bug #74892 (Url Rewriting (trans_sid) not working on urls that start
with "#"). (Andrew Nester)
#ifdef EXIF_DEBUG
sections_str = exif_get_sectionlist(sections_needed);
if (!sections_str) {
- zend_string_release(z_sections_needed);
RETURN_FALSE;
}
exif_error_docref(NULL EXIFERR_CC, &ImageInfo, E_NOTICE, "Sections needed: %s", sections_str[0] ? sections_str : "None");
EFREE_IF(sections_str);
#endif
- zend_string_release(z_sections_needed);
}
if (Z_TYPE_P(stream) == IS_RESOURCE) {
--- /dev/null
+--TEST--\r
+Bug #76164 (exif_read_data zend_mm_heap corrupted)\r
+--SKIPIF--\r
+<?php\r
+if (!extension_loaded('exif')) die('skip exif extension not available');\r
+?>\r
+--FILE--\r
+<?php\r
+$var1 = 'nonexistentfile';\r
+$var2 = 2200000000;\r
+@exif_read_data($var1, $var2); // we're not interested in the warning, here\r
+$var2 = 1;\r
+?>\r
+===DONE===\r
+--EXPECT--\r
+===DONE===\r