@@ -1497,16 +1497,12 @@ ZEND_API ZEND_COLD void zend_error_zstr_at(
14971497 errors_size = emalloc (sizeof (size_t ) + (2 * sizeof (zend_error_info * )));
14981498 // can be seen as "waste" but to have a round even number from start
14991499 * errors_size = 2 ;
1500- zend_error_info * * a = (zend_error_info * * )(errors_size + 1 );
1501- memset (a , 0 , * errors_size * sizeof (zend_error_info * ));
15021500 } else {
15031501 errors_size = (size_t * )(EG (errors ) - 1 );
15041502 if (EG (num_errors ) == * errors_size ) {
15051503 size_t tmp = * errors_size << 1 ;
15061504 // not sure we can get high number of errors so safe `might be` over cautious here
15071505 errors_size = safe_erealloc (errors_size , sizeof (size_t ) + (tmp * sizeof (zend_error_info * )), 1 , 0 );
1508- zend_error_info * * a = (zend_error_info * * )(errors_size + 1 );
1509- memset (a + * errors_size , 0 , (tmp - * errors_size ) * sizeof (zend_error_info * ));
15101506 * errors_size = tmp ;
15111507 }
15121508 }
@@ -1823,9 +1819,7 @@ ZEND_API void zend_free_recorded_errors(void)
18231819 return ;
18241820 }
18251821
1826- size_t * errors_size = (size_t * )(EG (errors ) - 1 );
1827-
1828- for (size_t i = 0 ; i < * errors_size ; i ++ ) {
1822+ for (uint32_t i = 0 ; i < EG (num_errors ); i ++ ) {
18291823 if (!EG (errors )[i ]) {
18301824 break ;
18311825 }
@@ -1834,7 +1828,7 @@ ZEND_API void zend_free_recorded_errors(void)
18341828 zend_string_release (info -> message );
18351829 efree_size (info , sizeof (zend_error_info ));
18361830 }
1837- efree (EG (errors ));
1831+ efree ((( size_t * ) EG (errors )) - 1 );
18381832 EG (errors ) = NULL ;
18391833 EG (num_errors ) = 0 ;
18401834}
0 commit comments