Linux server220.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
LiteSpeed
: 198.54.116.164 | : 216.73.216.241
Cant Read [ /etc/named.conf ]
7.4.33
adnangch
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
opt /
alt /
php84 /
usr /
include /
php /
Zend /
[ HOME SHELL ]
Name
Size
Permission
Action
Optimizer
[ DIR ]
drwxr-xr-x
zend.h
17.25
KB
-rw-r--r--
zend_API.h
106.4
KB
-rw-r--r--
zend_alloc.h
20.22
KB
-rw-r--r--
zend_alloc_sizes.h
2.57
KB
-rw-r--r--
zend_arena.h
5.94
KB
-rw-r--r--
zend_ast.h
13.47
KB
-rw-r--r--
zend_atomic.h
12.77
KB
-rw-r--r--
zend_attributes.h
5.77
KB
-rw-r--r--
zend_attributes_arginfo.h
14.18
KB
-rw-r--r--
zend_bitset.h
7.89
KB
-rw-r--r--
zend_build.h
1.59
KB
-rw-r--r--
zend_builtin_functions.h
1.54
KB
-rw-r--r--
zend_builtin_functions_arginfo...
14.87
KB
-rw-r--r--
zend_call_stack.h
2.98
KB
-rw-r--r--
zend_closures.h
2.26
KB
-rw-r--r--
zend_closures_arginfo.h
2.02
KB
-rw-r--r--
zend_compile.h
52.2
KB
-rw-r--r--
zend_config.h
32
B
-rw-r--r--
zend_constants.h
6.58
KB
-rw-r--r--
zend_constants_arginfo.h
1.85
KB
-rw-r--r--
zend_cpuinfo.h
9
KB
-rw-r--r--
zend_dtrace.h
2
KB
-rw-r--r--
zend_enum.h
2.86
KB
-rw-r--r--
zend_enum_arginfo.h
1.65
KB
-rw-r--r--
zend_errors.h
2.36
KB
-rw-r--r--
zend_exceptions.h
4.54
KB
-rw-r--r--
zend_exceptions_arginfo.h
17.26
KB
-rw-r--r--
zend_execute.h
23.4
KB
-rw-r--r--
zend_extensions.h
6.43
KB
-rw-r--r--
zend_fibers.h
5.29
KB
-rw-r--r--
zend_fibers_arginfo.h
3.45
KB
-rw-r--r--
zend_float.h
15.11
KB
-rw-r--r--
zend_frameless_function.h
5.39
KB
-rw-r--r--
zend_gc.h
4.58
KB
-rw-r--r--
zend_gdb.h
1.39
KB
-rw-r--r--
zend_generators.h
7.48
KB
-rw-r--r--
zend_generators_arginfo.h
2.82
KB
-rw-r--r--
zend_globals.h
9.77
KB
-rw-r--r--
zend_globals_macros.h
2.77
KB
-rw-r--r--
zend_hash.h
50.36
KB
-rw-r--r--
zend_highlight.h
2.27
KB
-rw-r--r--
zend_hrtime.h
3.75
KB
-rw-r--r--
zend_inheritance.h
3.11
KB
-rw-r--r--
zend_ini.h
11.88
KB
-rw-r--r--
zend_ini_parser.h
2.69
KB
-rw-r--r--
zend_ini_scanner.h
1.93
KB
-rw-r--r--
zend_ini_scanner_defs.h
246
B
-rw-r--r--
zend_interfaces.h
4.02
KB
-rw-r--r--
zend_interfaces_arginfo.h
7.66
KB
-rw-r--r--
zend_iterators.h
3.81
KB
-rw-r--r--
zend_language_parser.h
6.05
KB
-rw-r--r--
zend_language_scanner.h
3
KB
-rw-r--r--
zend_language_scanner_defs.h
310
B
-rw-r--r--
zend_lazy_objects.h
4.61
KB
-rw-r--r--
zend_list.h
3.4
KB
-rw-r--r--
zend_llist.h
3.94
KB
-rw-r--r--
zend_long.h
4.13
KB
-rw-r--r--
zend_map_ptr.h
3.49
KB
-rw-r--r--
zend_max_execution_timer.h
1.45
KB
-rw-r--r--
zend_mmap.h
1.48
KB
-rw-r--r--
zend_modules.h
4.71
KB
-rw-r--r--
zend_multibyte.h
4.83
KB
-rw-r--r--
zend_multiply.h
9.99
KB
-rw-r--r--
zend_object_handlers.h
17.66
KB
-rw-r--r--
zend_objects.h
1.9
KB
-rw-r--r--
zend_objects_API.h
5.48
KB
-rw-r--r--
zend_observer.h
8.82
KB
-rw-r--r--
zend_operators.h
33.26
KB
-rw-r--r--
zend_portability.h
26.72
KB
-rw-r--r--
zend_property_hooks.h
1.78
KB
-rw-r--r--
zend_ptr_stack.h
4.22
KB
-rw-r--r--
zend_range_check.h
2.93
KB
-rw-r--r--
zend_signal.h
4.01
KB
-rw-r--r--
zend_smart_str.h
6.88
KB
-rw-r--r--
zend_smart_str_public.h
1.19
KB
-rw-r--r--
zend_smart_string.h
4.11
KB
-rw-r--r--
zend_smart_string_public.h
1.21
KB
-rw-r--r--
zend_sort.h
1.52
KB
-rw-r--r--
zend_stack.h
2.38
KB
-rw-r--r--
zend_stream.h
3.56
KB
-rw-r--r--
zend_string.h
22.16
KB
-rw-r--r--
zend_strtod.h
2.29
KB
-rw-r--r--
zend_strtod_int.h
2.81
KB
-rw-r--r--
zend_system_id.h
1.39
KB
-rw-r--r--
zend_type_info.h
4.44
KB
-rw-r--r--
zend_types.h
50.76
KB
-rw-r--r--
zend_variables.h
3.02
KB
-rw-r--r--
zend_verify_type_inference.h
8.07
KB
-rw-r--r--
zend_virtual_cwd.h
12.89
KB
-rw-r--r--
zend_vm.h
2.06
KB
-rw-r--r--
zend_vm_def.h
294.91
KB
-rw-r--r--
zend_vm_execute.h
2.17
MB
-rw-r--r--
zend_vm_handlers.h
90.54
KB
-rw-r--r--
zend_vm_opcodes.h
13.45
KB
-rw-r--r--
zend_vm_trace_handlers.h
3.14
KB
-rw-r--r--
zend_vm_trace_lines.h
1.71
KB
-rw-r--r--
zend_vm_trace_map.h
2.6
KB
-rw-r--r--
zend_weakrefs.h
3.15
KB
-rw-r--r--
zend_weakrefs_arginfo.h
3.36
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : zend_verify_type_inference.h
/* +----------------------------------------------------------------------+ | Zend Engine | +----------------------------------------------------------------------+ | Copyright (c) Zend Technologies Ltd. (http://www.zend.com) | +----------------------------------------------------------------------+ | This source file is subject to version 2.00 of the Zend license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.zend.com/license/2_00.txt. | | If you did not receive a copy of the Zend license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@zend.com so we can mail you a copy immediately. | +----------------------------------------------------------------------+ */ #include "zend_type_info.h" #include "zend_compile.h" #define VM_TRACE_START() #define VM_TRACE_END() #define VM_TRACE(op) zend_verify_inference_use(execute_data, OPLINE); \ { \ zend_execute_data *__current_ex = NULL; \ const zend_op *__current_op = NULL; \ if (OPLINE->opcode != ZEND_GENERATOR_RETURN) { \ __current_ex = execute_data; __current_op = OPLINE; \ } #define VM_TRACE_OP_END(op) \ if (__current_ex && __current_op) { \ zend_verify_inference_def(__current_ex, __current_op); \ } \ } #define ZEND_VERIFY_TYPE_INFERENCE_ERROR(msg, ...) \ do { \ fprintf(stderr, "Inference verification failed at %04d %s (" msg ")\n", (int)(opline - EX(func)->op_array.opcodes), operand, __VA_ARGS__); \ _exit(139); \ } while (0) static void zend_verify_type_inference(zval *value, uint32_t type_mask, uint8_t op_type, zend_execute_data *execute_data, const zend_op *opline, const char *operand) { if (type_mask == MAY_BE_CLASS) { return; } if (Z_TYPE_P(value) == IS_INDIRECT) { if (!(type_mask & MAY_BE_INDIRECT)) { ZEND_VERIFY_TYPE_INFERENCE_ERROR("mask 0x%x missing MAY_BE_INDIRECT", type_mask); } value = Z_INDIRECT_P(value); } /* Verifying RC inference is currently not possible because type information is based on the SSA * built without ZEND_SSA_RC_INFERENCE, which is missing various definitions for RC-modifying * operations. Support could be added by repeating SSA-construction and type inference with the * given flag. */ // if (Z_REFCOUNTED_P(value)) { // if (Z_REFCOUNT_P(value) == 1 && !(type_mask & MAY_BE_RC1)) { // ZEND_VERIFY_TYPE_INFERENCE_ERROR("mask 0x%x missing MAY_BE_RC1", type_mask); // } // if (Z_REFCOUNT_P(value) > 1 && !(type_mask & MAY_BE_RCN)) { // ZEND_VERIFY_TYPE_INFERENCE_ERROR("mask 0x%x missing MAY_BE_RCN", type_mask); // } // } if (Z_TYPE_P(value) == IS_REFERENCE) { if (!(type_mask & MAY_BE_REF)) { ZEND_VERIFY_TYPE_INFERENCE_ERROR("mask 0x%x missing MAY_BE_REF", type_mask); } value = Z_REFVAL_P(value); } if (!(type_mask & (1u << Z_TYPE_P(value)))) { if (Z_TYPE_P(value) == IS_UNUSED && op_type == IS_VAR && (type_mask & MAY_BE_NULL)) { /* FETCH_OBJ_* for typed property may return IS_UNDEF. This is an exception. */ } else { ZEND_VERIFY_TYPE_INFERENCE_ERROR("mask 0x%x missing type %d", type_mask, Z_TYPE_P(value)); } } if (Z_TYPE_P(value) == IS_ARRAY) { HashTable *ht = Z_ARRVAL_P(value); uint32_t num_checked = 0; zend_string *str; zval *val; if (HT_IS_INITIALIZED(ht)) { if (HT_IS_PACKED(ht) && !MAY_BE_PACKED(type_mask)) { ZEND_VERIFY_TYPE_INFERENCE_ERROR("mask 0x%x missing MAY_BE_ARRAY_PACKED", type_mask); } if (!HT_IS_PACKED(ht) && !MAY_BE_HASH(type_mask)) { ZEND_VERIFY_TYPE_INFERENCE_ERROR("mask 0x%x missing MAY_BE_ARRAY_HASH", type_mask); } } else { if (!(type_mask & MAY_BE_ARRAY_EMPTY)) { ZEND_VERIFY_TYPE_INFERENCE_ERROR("mask 0x%x missing MAY_BE_ARRAY_EMPTY", type_mask); } } ZEND_HASH_FOREACH_STR_KEY_VAL(ht, str, val) { if (str) { if (!(type_mask & MAY_BE_ARRAY_KEY_STRING)) { ZEND_VERIFY_TYPE_INFERENCE_ERROR("mask 0x%x missing MAY_BE_ARRAY_KEY_STRING", type_mask); break; } } else { if (!(type_mask & MAY_BE_ARRAY_KEY_LONG)) { ZEND_VERIFY_TYPE_INFERENCE_ERROR("mask 0x%x missing MAY_BE_ARRAY_KEY_LONG", type_mask); break; } } uint32_t array_type = 1u << (Z_TYPE_P(val) + MAY_BE_ARRAY_SHIFT); if (!(type_mask & array_type)) { ZEND_VERIFY_TYPE_INFERENCE_ERROR("mask 0x%x missing array type %d", type_mask, Z_TYPE_P(val)); break; } /* Don't check all elements of large arrays. */ if (++num_checked > 16) { break; } } ZEND_HASH_FOREACH_END(); } } /* Clang reports false positive unused warnings. */ #ifdef __clang__ __attribute__((unused)) #endif static void zend_verify_inference_use(zend_execute_data *execute_data, const zend_op *opline) { if (opline->op1_use_type && (opline->op1_type & (IS_TMP_VAR|IS_VAR|IS_CV)) && opline->opcode != ZEND_ROPE_ADD && opline->opcode != ZEND_ROPE_END) { zend_verify_type_inference(EX_VAR(opline->op1.var), opline->op1_use_type, opline->op1_type, execute_data, opline, "op1_use"); } if (opline->op2_use_type && (opline->op2_type & (IS_TMP_VAR|IS_VAR|IS_CV))) { zend_verify_type_inference(EX_VAR(opline->op2.var), opline->op2_use_type, opline->op2_type, execute_data, opline, "op2_use"); } if (opline->result_use_type && (opline->result_type & (IS_TMP_VAR|IS_VAR|IS_CV))) { zend_verify_type_inference(EX_VAR(opline->result.var), opline->result_use_type, opline->result_type, execute_data, opline, "result_use"); } } /* Clang reports false positive unused warnings. */ #ifdef __clang__ __attribute__((unused)) #endif static void zend_verify_inference_def(zend_execute_data *execute_data, const zend_op *opline) { if (EG(exception)) { return; } if (opline->op1_def_type && (opline->op1_type & (IS_TMP_VAR|IS_VAR|IS_CV)) // array is actually changed by the the following instruction(s) && opline->opcode != ZEND_FETCH_DIM_W && opline->opcode != ZEND_FETCH_DIM_RW && opline->opcode != ZEND_FETCH_DIM_FUNC_ARG && opline->opcode != ZEND_FETCH_LIST_W) { zend_verify_type_inference(EX_VAR(opline->op1.var), opline->op1_def_type, opline->op1_type, execute_data, opline, "op1_def"); } if (opline->op2_def_type && (opline->op2_type & (IS_TMP_VAR|IS_VAR|IS_CV)) /* ZEND_FE_FETCH_R[W] does not define a result in the last iteration. */ && opline->opcode != ZEND_FE_FETCH_R && opline->opcode != ZEND_FE_FETCH_RW) { zend_verify_type_inference(EX_VAR(opline->op2.var), opline->op2_def_type, opline->op2_type, execute_data, opline, "op2_def"); } if (opline->result_def_type && (opline->result_type & (IS_TMP_VAR|IS_VAR|IS_CV)) && opline->opcode != ZEND_ROPE_INIT && opline->opcode != ZEND_ROPE_ADD /* Some jump opcode handlers don't set result when it's never read. */ && opline->opcode != ZEND_JMP_SET && opline->opcode != ZEND_JMP_NULL && opline->opcode != ZEND_COALESCE && opline->opcode != ZEND_ASSERT_CHECK /* Smart branches may not declare result. */ && !zend_is_smart_branch(opline) /* User calls only initialize result when returning from the called function. */ && opline->opcode != ZEND_DO_FCALL && opline->opcode != ZEND_DO_UCALL && opline->opcode != ZEND_DO_FCALL_BY_NAME /* ZEND_FE_FETCH_R[W] does not define a result in the last iteration. */ && opline->opcode != ZEND_FE_FETCH_R && opline->opcode != ZEND_FE_FETCH_RW) { zend_verify_type_inference(EX_VAR(opline->result.var), opline->result_def_type, opline->result_type, execute_data, opline, "result_def"); /* Verify return value in the context of caller. */ if ((opline->opcode == ZEND_RETURN || opline->opcode == ZEND_RETURN_BY_REF) && execute_data->prev_execute_data && execute_data->prev_execute_data->func && ZEND_USER_CODE(execute_data->prev_execute_data->func->type)) { zend_execute_data *prev_execute_data = execute_data->prev_execute_data; const zend_op *opline = execute_data->prev_execute_data->opline; zend_verify_type_inference(ZEND_CALL_VAR(prev_execute_data, opline->result.var), opline->result_def_type, opline->result_type, prev_execute_data, opline, "result_def"); } } }
Close