mirror of
https://github.com/bdnugget/php-src.git
synced 2026-11-07 17:27:30 +00:00
Fix execute fuzzer on i386
Opcode handlers use the FASTCALL calling convention...
This commit is contained in:
1 parent
2c15c9ce80
commit
f0dfdca0ae
1 file changed
+5
-1
@@ -22,6 +22,10 @@
|
||||
#define MAX_STEPS 1000
|
||||
static uint32_t steps_left;
|
||||
|
||||
/* Because the fuzzer is always compiled with clang,
|
||||
* we can assume that we don't use global registers / hybrid VM. */
|
||||
typedef int (ZEND_FASTCALL *opcode_handler_t)(zend_execute_data *);
|
||||
|
||||
void fuzzer_execute_ex(zend_execute_data *execute_data) {
|
||||
while (1) {
|
||||
int ret;
|
||||
@@ -32,7 +36,7 @@ void fuzzer_execute_ex(zend_execute_data *execute_data) {
|
||||
zend_bailout();
|
||||
}
|
||||
|
||||
if ((ret = ((user_opcode_handler_t) EX(opline)->handler)(execute_data)) != 0) {
|
||||
if ((ret = ((opcode_handler_t) EX(opline)->handler)(execute_data)) != 0) {
|
||||
if (ret > 0) {
|
||||
execute_data = EG(current_execute_data);
|
||||
} else {
|
||||
|
||||
Reference in new issue
Block a user