Merge branch 'PHP-8.2' into PHP-8.3

* PHP-8.2:
  Fix MSAN getservbyport() false positive
  Fix uninitialized CG(zend_lineno)
  Fix uninitialized EG(user_error_handler_error_reporting)
This commit is contained in:
Ilija Tovilo 2024-09-09 19:35:00 +02:00
commit a5bd4ccb8c
No known key found for this signature in database
GPG key ID: 5050C66BFCD1015A
2 changed files with 10 additions and 0 deletions

View file

@ -703,6 +703,7 @@ static void auto_global_copy_ctor(zval *zv) /* {{{ */
static void compiler_globals_ctor(zend_compiler_globals *compiler_globals) /* {{{ */
{
compiler_globals->compiled_filename = NULL;
compiler_globals->zend_lineno = 0;
compiler_globals->function_table = (HashTable *) malloc(sizeof(HashTable));
zend_hash_init(compiler_globals->function_table, 1024, NULL, ZEND_FUNCTION_DTOR, 1);
@ -789,6 +790,7 @@ static void executor_globals_ctor(zend_executor_globals *executor_globals) /* {{
zend_init_call_trampoline_op();
memset(&executor_globals->trampoline, 0, sizeof(zend_op_array));
executor_globals->capture_warnings_during_sccp = 0;
executor_globals->user_error_handler_error_reporting = 0;
ZVAL_UNDEF(&executor_globals->user_error_handler);
ZVAL_UNDEF(&executor_globals->user_exception_handler);
executor_globals->in_autoload = NULL;

View file

@ -117,6 +117,10 @@ PHPAPI php_basic_globals basic_globals;
#include "streamsfuncs.h"
#include "basic_functions_arginfo.h"
#if __has_feature(memory_sanitizer)
# include <sanitizer/msan_interface.h>
#endif
typedef struct _user_tick_function_entry {
zend_fcall_info fci;
zend_fcall_info_cache fci_cache;
@ -2255,6 +2259,10 @@ PHP_FUNCTION(getservbyport)
RETURN_FALSE;
}
/* MSAN false positive, getservbyport() is not properly intercepted. */
#if __has_feature(memory_sanitizer)
__msan_unpoison_string(serv->s_name);
#endif
RETURN_STRING(serv->s_name);
}
/* }}} */