Skip to content

Commit 831a2b3

Browse files
committed
Disable custom execute_ex during function JIT fuzzing as well
Having zend_execute_ex set is normally not a problem for the function JIT, but there is an edge case leak due to special RELEASE_THIS handling during generator creation. As this is an unsupported mode of operation, reset to the original handler for the function jit fuzzer as well.
1 parent b3d37e9 commit 831a2b3

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

sapi/fuzzer/fuzzer-function-jit.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,10 @@ int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {
3838
steps_left = MAX_STEPS;
3939
zend_alter_ini_entry_chars(jit_option,
4040
"function", sizeof("function")-1, PHP_INI_USER, PHP_INI_STAGE_RUNTIME);
41+
zend_execute_ex = orig_execute_ex;
4142
fuzzer_do_request_from_buffer(
4243
FILE_NAME, (const char *) Data, Size, /* execute */ 1, opcache_invalidate);
44+
zend_execute_ex = fuzzer_execute_ex;
4345
}
4446

4547
zend_string_release(jit_option);

0 commit comments

Comments
 (0)