summaryrefslogtreecommitdiff
path: root/Zend/zend_vm_opcodes.c
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/zend_vm_opcodes.c')
-rw-r--r--Zend/zend_vm_opcodes.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/Zend/zend_vm_opcodes.c b/Zend/zend_vm_opcodes.c
index a40134936d..52b7cb855c 100644
--- a/Zend/zend_vm_opcodes.c
+++ b/Zend/zend_vm_opcodes.c
@@ -20,6 +20,7 @@
#include <stdio.h>
#include <zend.h>
+#include <zend_vm_opcodes.h>
static const char *zend_vm_opcodes_names[199] = {
"ZEND_NOP",
@@ -426,8 +427,14 @@ static uint32_t zend_vm_opcodes_flags[199] = {
};
ZEND_API const char* ZEND_FASTCALL zend_get_opcode_name(zend_uchar opcode) {
+ if (UNEXPECTED(opcode > ZEND_VM_LAST_OPCODE)) {
+ return NULL;
+ }
return zend_vm_opcodes_names[opcode];
}
ZEND_API uint32_t ZEND_FASTCALL zend_get_opcode_flags(zend_uchar opcode) {
+ if (UNEXPECTED(opcode > ZEND_VM_LAST_OPCODE)) {
+ opcode = ZEND_NOP;
+ }
return zend_vm_opcodes_flags[opcode];
}