/src/php-src/Zend/zend_arena.h
Line | Count | Source (jump to first uncovered line) |
1 | | /* |
2 | | +----------------------------------------------------------------------+ |
3 | | | Zend Engine | |
4 | | +----------------------------------------------------------------------+ |
5 | | | Copyright (c) Zend Technologies Ltd. (http://www.zend.com) | |
6 | | +----------------------------------------------------------------------+ |
7 | | | This source file is subject to version 2.00 of the Zend license, | |
8 | | | that is bundled with this package in the file LICENSE, and is | |
9 | | | available through the world-wide-web at the following url: | |
10 | | | http://www.zend.com/license/2_00.txt. | |
11 | | | If you did not receive a copy of the Zend license and are unable to | |
12 | | | obtain it through the world-wide-web, please send a note to | |
13 | | | license@zend.com so we can mail you a copy immediately. | |
14 | | +----------------------------------------------------------------------+ |
15 | | | Authors: Dmitry Stogov <dmitry@php.net> | |
16 | | +----------------------------------------------------------------------+ |
17 | | */ |
18 | | |
19 | | #ifndef _ZEND_ARENA_H_ |
20 | | #define _ZEND_ARENA_H_ |
21 | | |
22 | | #include "zend.h" |
23 | | |
24 | | #ifndef ZEND_TRACK_ARENA_ALLOC |
25 | | |
26 | | typedef struct _zend_arena zend_arena; |
27 | | |
28 | | struct _zend_arena { |
29 | | char *ptr; |
30 | | char *end; |
31 | | zend_arena *prev; |
32 | | }; |
33 | | |
34 | | static zend_always_inline zend_arena* zend_arena_create(size_t size) |
35 | 534k | { |
36 | 534k | zend_arena *arena = (zend_arena*)emalloc(size); |
37 | | |
38 | 534k | arena->ptr = (char*) arena + ZEND_MM_ALIGNED_SIZE(sizeof(zend_arena)); |
39 | 534k | arena->end = (char*) arena + size; |
40 | 534k | arena->prev = NULL; |
41 | 534k | return arena; |
42 | 534k | } Unexecuted instantiation: php_date.c:zend_arena_create Unexecuted instantiation: php_pcre.c:zend_arena_create Unexecuted instantiation: exif.c:zend_arena_create Unexecuted instantiation: hash.c:zend_arena_create Unexecuted instantiation: hash_md.c:zend_arena_create Unexecuted instantiation: hash_sha.c:zend_arena_create Unexecuted instantiation: hash_ripemd.c:zend_arena_create Unexecuted instantiation: hash_haval.c:zend_arena_create Unexecuted instantiation: hash_tiger.c:zend_arena_create Unexecuted instantiation: hash_gost.c:zend_arena_create Unexecuted instantiation: hash_snefru.c:zend_arena_create Unexecuted instantiation: hash_whirlpool.c:zend_arena_create Unexecuted instantiation: hash_adler32.c:zend_arena_create Unexecuted instantiation: hash_crc32.c:zend_arena_create Unexecuted instantiation: hash_fnv.c:zend_arena_create Unexecuted instantiation: hash_joaat.c:zend_arena_create Unexecuted instantiation: hash_sha3.c:zend_arena_create Unexecuted instantiation: json.c:zend_arena_create Unexecuted instantiation: json_encoder.c:zend_arena_create Unexecuted instantiation: json_parser.tab.c:zend_arena_create Unexecuted instantiation: json_scanner.c:zend_arena_create Unexecuted instantiation: mbstring.c:zend_arena_create Unexecuted instantiation: php_unicode.c:zend_arena_create Unexecuted instantiation: mb_gpc.c:zend_arena_create Unexecuted instantiation: php_mbregex.c:zend_arena_create Unexecuted instantiation: php_reflection.c:zend_arena_create Unexecuted instantiation: php_spl.c:zend_arena_create Unexecuted instantiation: spl_functions.c:zend_arena_create Unexecuted instantiation: spl_engine.c:zend_arena_create Unexecuted instantiation: spl_iterators.c:zend_arena_create Unexecuted instantiation: spl_array.c:zend_arena_create Unexecuted instantiation: spl_directory.c:zend_arena_create Unexecuted instantiation: spl_exceptions.c:zend_arena_create Unexecuted instantiation: spl_observer.c:zend_arena_create Unexecuted instantiation: spl_dllist.c:zend_arena_create Unexecuted instantiation: spl_heap.c:zend_arena_create Unexecuted instantiation: spl_fixedarray.c:zend_arena_create Unexecuted instantiation: crypt_sha512.c:zend_arena_create Unexecuted instantiation: crypt_sha256.c:zend_arena_create Unexecuted instantiation: php_crypt_r.c:zend_arena_create Unexecuted instantiation: array.c:zend_arena_create Unexecuted instantiation: base64.c:zend_arena_create Unexecuted instantiation: basic_functions.c:zend_arena_create Unexecuted instantiation: browscap.c:zend_arena_create Unexecuted instantiation: crc32.c:zend_arena_create Unexecuted instantiation: crypt.c:zend_arena_create Unexecuted instantiation: datetime.c:zend_arena_create Unexecuted instantiation: dir.c:zend_arena_create Unexecuted instantiation: dl.c:zend_arena_create Unexecuted instantiation: dns.c:zend_arena_create Unexecuted instantiation: exec.c:zend_arena_create Unexecuted instantiation: file.c:zend_arena_create Unexecuted instantiation: filestat.c:zend_arena_create Unexecuted instantiation: flock_compat.c:zend_arena_create Unexecuted instantiation: formatted_print.c:zend_arena_create Unexecuted instantiation: fsock.c:zend_arena_create Unexecuted instantiation: head.c:zend_arena_create Unexecuted instantiation: html.c:zend_arena_create Unexecuted instantiation: image.c:zend_arena_create Unexecuted instantiation: info.c:zend_arena_create Unexecuted instantiation: iptc.c:zend_arena_create Unexecuted instantiation: lcg.c:zend_arena_create Unexecuted instantiation: link.c:zend_arena_create Unexecuted instantiation: mail.c:zend_arena_create Unexecuted instantiation: math.c:zend_arena_create Unexecuted instantiation: md5.c:zend_arena_create Unexecuted instantiation: metaphone.c:zend_arena_create Unexecuted instantiation: microtime.c:zend_arena_create Unexecuted instantiation: pack.c:zend_arena_create Unexecuted instantiation: pageinfo.c:zend_arena_create Unexecuted instantiation: quot_print.c:zend_arena_create Unexecuted instantiation: rand.c:zend_arena_create Unexecuted instantiation: mt_rand.c:zend_arena_create Unexecuted instantiation: soundex.c:zend_arena_create Unexecuted instantiation: string.c:zend_arena_create Unexecuted instantiation: scanf.c:zend_arena_create Unexecuted instantiation: syslog.c:zend_arena_create Unexecuted instantiation: type.c:zend_arena_create Unexecuted instantiation: uniqid.c:zend_arena_create Unexecuted instantiation: url.c:zend_arena_create Unexecuted instantiation: var.c:zend_arena_create Unexecuted instantiation: versioning.c:zend_arena_create Unexecuted instantiation: assert.c:zend_arena_create Unexecuted instantiation: strnatcmp.c:zend_arena_create Unexecuted instantiation: levenshtein.c:zend_arena_create Unexecuted instantiation: incomplete_class.c:zend_arena_create Unexecuted instantiation: url_scanner_ex.c:zend_arena_create Unexecuted instantiation: ftp_fopen_wrapper.c:zend_arena_create Unexecuted instantiation: http_fopen_wrapper.c:zend_arena_create Unexecuted instantiation: php_fopen_wrapper.c:zend_arena_create Unexecuted instantiation: credits.c:zend_arena_create Unexecuted instantiation: css.c:zend_arena_create Unexecuted instantiation: var_unserializer.c:zend_arena_create Unexecuted instantiation: ftok.c:zend_arena_create Unexecuted instantiation: sha1.c:zend_arena_create Unexecuted instantiation: user_filters.c:zend_arena_create Unexecuted instantiation: uuencode.c:zend_arena_create Unexecuted instantiation: filters.c:zend_arena_create Unexecuted instantiation: proc_open.c:zend_arena_create Unexecuted instantiation: streamsfuncs.c:zend_arena_create Unexecuted instantiation: http.c:zend_arena_create Unexecuted instantiation: password.c:zend_arena_create Unexecuted instantiation: random.c:zend_arena_create Unexecuted instantiation: net.c:zend_arena_create Unexecuted instantiation: hrtime.c:zend_arena_create Unexecuted instantiation: main.c:zend_arena_create Unexecuted instantiation: snprintf.c:zend_arena_create Unexecuted instantiation: spprintf.c:zend_arena_create Unexecuted instantiation: fopen_wrappers.c:zend_arena_create Unexecuted instantiation: php_scandir.c:zend_arena_create Unexecuted instantiation: php_ini.c:zend_arena_create Unexecuted instantiation: SAPI.c:zend_arena_create Unexecuted instantiation: rfc1867.c:zend_arena_create Unexecuted instantiation: php_content_types.c:zend_arena_create Unexecuted instantiation: strlcpy.c:zend_arena_create Unexecuted instantiation: strlcat.c:zend_arena_create Unexecuted instantiation: explicit_bzero.c:zend_arena_create Unexecuted instantiation: reentrancy.c:zend_arena_create Unexecuted instantiation: php_variables.c:zend_arena_create Unexecuted instantiation: php_ticks.c:zend_arena_create Unexecuted instantiation: network.c:zend_arena_create Unexecuted instantiation: php_open_temporary_file.c:zend_arena_create Unexecuted instantiation: output.c:zend_arena_create Unexecuted instantiation: getopt.c:zend_arena_create Unexecuted instantiation: php_syslog.c:zend_arena_create Unexecuted instantiation: streams.c:zend_arena_create Unexecuted instantiation: cast.c:zend_arena_create Unexecuted instantiation: memory.c:zend_arena_create Unexecuted instantiation: filter.c:zend_arena_create Unexecuted instantiation: plain_wrapper.c:zend_arena_create Unexecuted instantiation: userspace.c:zend_arena_create Unexecuted instantiation: transports.c:zend_arena_create Unexecuted instantiation: xp_socket.c:zend_arena_create Unexecuted instantiation: mmap.c:zend_arena_create Unexecuted instantiation: glob_wrapper.c:zend_arena_create Unexecuted instantiation: zend_language_parser.c:zend_arena_create zend_language_scanner.c:zend_arena_create Line | Count | Source | 35 | 267k | { | 36 | 267k | zend_arena *arena = (zend_arena*)emalloc(size); | 37 | | | 38 | 267k | arena->ptr = (char*) arena + ZEND_MM_ALIGNED_SIZE(sizeof(zend_arena)); | 39 | 267k | arena->end = (char*) arena + size; | 40 | 267k | arena->prev = NULL; | 41 | 267k | return arena; | 42 | 267k | } |
Unexecuted instantiation: zend_ini_parser.c:zend_arena_create Unexecuted instantiation: zend_ini_scanner.c:zend_arena_create Unexecuted instantiation: zend_alloc.c:zend_arena_create zend_compile.c:zend_arena_create Line | Count | Source | 35 | 267k | { | 36 | 267k | zend_arena *arena = (zend_arena*)emalloc(size); | 37 | | | 38 | 267k | arena->ptr = (char*) arena + ZEND_MM_ALIGNED_SIZE(sizeof(zend_arena)); | 39 | 267k | arena->end = (char*) arena + size; | 40 | 267k | arena->prev = NULL; | 41 | 267k | return arena; | 42 | 267k | } |
Unexecuted instantiation: zend_constants.c:zend_arena_create Unexecuted instantiation: zend_dtrace.c:zend_arena_create Unexecuted instantiation: zend_execute_API.c:zend_arena_create Unexecuted instantiation: zend_highlight.c:zend_arena_create Unexecuted instantiation: zend_opcode.c:zend_arena_create Unexecuted instantiation: zend_operators.c:zend_arena_create Unexecuted instantiation: zend_variables.c:zend_arena_create Unexecuted instantiation: zend.c:zend_arena_create Unexecuted instantiation: zend_API.c:zend_arena_create Unexecuted instantiation: zend_extensions.c:zend_arena_create Unexecuted instantiation: zend_hash.c:zend_arena_create Unexecuted instantiation: zend_list.c:zend_arena_create Unexecuted instantiation: zend_builtin_functions.c:zend_arena_create Unexecuted instantiation: zend_attributes.c:zend_arena_create Unexecuted instantiation: zend_execute.c:zend_arena_create Unexecuted instantiation: zend_ini.c:zend_arena_create Unexecuted instantiation: zend_multibyte.c:zend_arena_create Unexecuted instantiation: zend_stream.c:zend_arena_create Unexecuted instantiation: zend_iterators.c:zend_arena_create Unexecuted instantiation: zend_interfaces.c:zend_arena_create Unexecuted instantiation: zend_exceptions.c:zend_arena_create Unexecuted instantiation: zend_gc.c:zend_arena_create Unexecuted instantiation: zend_closures.c:zend_arena_create Unexecuted instantiation: zend_weakrefs.c:zend_arena_create Unexecuted instantiation: zend_float.c:zend_arena_create Unexecuted instantiation: zend_string.c:zend_arena_create Unexecuted instantiation: zend_signal.c:zend_arena_create Unexecuted instantiation: zend_generators.c:zend_arena_create Unexecuted instantiation: zend_ast.c:zend_arena_create Unexecuted instantiation: zend_objects.c:zend_arena_create Unexecuted instantiation: zend_object_handlers.c:zend_arena_create Unexecuted instantiation: zend_objects_API.c:zend_arena_create Unexecuted instantiation: zend_default_classes.c:zend_arena_create Unexecuted instantiation: zend_inheritance.c:zend_arena_create Unexecuted instantiation: zend_smart_str.c:zend_arena_create Unexecuted instantiation: internal_functions_cli.c:zend_arena_create Unexecuted instantiation: fuzzer-parser.c:zend_arena_create Unexecuted instantiation: fuzzer-sapi.c:zend_arena_create |
43 | | |
44 | | static zend_always_inline void zend_arena_destroy(zend_arena *arena) |
45 | 513k | { |
46 | 517k | do { |
47 | 517k | zend_arena *prev = arena->prev; |
48 | 517k | efree(arena); |
49 | 517k | arena = prev; |
50 | 517k | } while (arena); |
51 | 513k | } Unexecuted instantiation: php_date.c:zend_arena_destroy Unexecuted instantiation: php_pcre.c:zend_arena_destroy Unexecuted instantiation: exif.c:zend_arena_destroy Unexecuted instantiation: hash.c:zend_arena_destroy Unexecuted instantiation: hash_md.c:zend_arena_destroy Unexecuted instantiation: hash_sha.c:zend_arena_destroy Unexecuted instantiation: hash_ripemd.c:zend_arena_destroy Unexecuted instantiation: hash_haval.c:zend_arena_destroy Unexecuted instantiation: hash_tiger.c:zend_arena_destroy Unexecuted instantiation: hash_gost.c:zend_arena_destroy Unexecuted instantiation: hash_snefru.c:zend_arena_destroy Unexecuted instantiation: hash_whirlpool.c:zend_arena_destroy Unexecuted instantiation: hash_adler32.c:zend_arena_destroy Unexecuted instantiation: hash_crc32.c:zend_arena_destroy Unexecuted instantiation: hash_fnv.c:zend_arena_destroy Unexecuted instantiation: hash_joaat.c:zend_arena_destroy Unexecuted instantiation: hash_sha3.c:zend_arena_destroy Unexecuted instantiation: json.c:zend_arena_destroy Unexecuted instantiation: json_encoder.c:zend_arena_destroy Unexecuted instantiation: json_parser.tab.c:zend_arena_destroy Unexecuted instantiation: json_scanner.c:zend_arena_destroy Unexecuted instantiation: mbstring.c:zend_arena_destroy Unexecuted instantiation: php_unicode.c:zend_arena_destroy Unexecuted instantiation: mb_gpc.c:zend_arena_destroy Unexecuted instantiation: php_mbregex.c:zend_arena_destroy Unexecuted instantiation: php_reflection.c:zend_arena_destroy Unexecuted instantiation: php_spl.c:zend_arena_destroy Unexecuted instantiation: spl_functions.c:zend_arena_destroy Unexecuted instantiation: spl_engine.c:zend_arena_destroy Unexecuted instantiation: spl_iterators.c:zend_arena_destroy Unexecuted instantiation: spl_array.c:zend_arena_destroy Unexecuted instantiation: spl_directory.c:zend_arena_destroy Unexecuted instantiation: spl_exceptions.c:zend_arena_destroy Unexecuted instantiation: spl_observer.c:zend_arena_destroy Unexecuted instantiation: spl_dllist.c:zend_arena_destroy Unexecuted instantiation: spl_heap.c:zend_arena_destroy Unexecuted instantiation: spl_fixedarray.c:zend_arena_destroy Unexecuted instantiation: crypt_sha512.c:zend_arena_destroy Unexecuted instantiation: crypt_sha256.c:zend_arena_destroy Unexecuted instantiation: php_crypt_r.c:zend_arena_destroy Unexecuted instantiation: array.c:zend_arena_destroy Unexecuted instantiation: base64.c:zend_arena_destroy Unexecuted instantiation: basic_functions.c:zend_arena_destroy Unexecuted instantiation: browscap.c:zend_arena_destroy Unexecuted instantiation: crc32.c:zend_arena_destroy Unexecuted instantiation: crypt.c:zend_arena_destroy Unexecuted instantiation: datetime.c:zend_arena_destroy Unexecuted instantiation: dir.c:zend_arena_destroy Unexecuted instantiation: dl.c:zend_arena_destroy Unexecuted instantiation: dns.c:zend_arena_destroy Unexecuted instantiation: exec.c:zend_arena_destroy Unexecuted instantiation: file.c:zend_arena_destroy Unexecuted instantiation: filestat.c:zend_arena_destroy Unexecuted instantiation: flock_compat.c:zend_arena_destroy Unexecuted instantiation: formatted_print.c:zend_arena_destroy Unexecuted instantiation: fsock.c:zend_arena_destroy Unexecuted instantiation: head.c:zend_arena_destroy Unexecuted instantiation: html.c:zend_arena_destroy Unexecuted instantiation: image.c:zend_arena_destroy Unexecuted instantiation: info.c:zend_arena_destroy Unexecuted instantiation: iptc.c:zend_arena_destroy Unexecuted instantiation: lcg.c:zend_arena_destroy Unexecuted instantiation: link.c:zend_arena_destroy Unexecuted instantiation: mail.c:zend_arena_destroy Unexecuted instantiation: math.c:zend_arena_destroy Unexecuted instantiation: md5.c:zend_arena_destroy Unexecuted instantiation: metaphone.c:zend_arena_destroy Unexecuted instantiation: microtime.c:zend_arena_destroy Unexecuted instantiation: pack.c:zend_arena_destroy Unexecuted instantiation: pageinfo.c:zend_arena_destroy Unexecuted instantiation: quot_print.c:zend_arena_destroy Unexecuted instantiation: rand.c:zend_arena_destroy Unexecuted instantiation: mt_rand.c:zend_arena_destroy Unexecuted instantiation: soundex.c:zend_arena_destroy Unexecuted instantiation: string.c:zend_arena_destroy Unexecuted instantiation: scanf.c:zend_arena_destroy Unexecuted instantiation: syslog.c:zend_arena_destroy Unexecuted instantiation: type.c:zend_arena_destroy Unexecuted instantiation: uniqid.c:zend_arena_destroy Unexecuted instantiation: url.c:zend_arena_destroy Unexecuted instantiation: var.c:zend_arena_destroy Unexecuted instantiation: versioning.c:zend_arena_destroy Unexecuted instantiation: assert.c:zend_arena_destroy Unexecuted instantiation: strnatcmp.c:zend_arena_destroy Unexecuted instantiation: levenshtein.c:zend_arena_destroy Unexecuted instantiation: incomplete_class.c:zend_arena_destroy Unexecuted instantiation: url_scanner_ex.c:zend_arena_destroy Unexecuted instantiation: ftp_fopen_wrapper.c:zend_arena_destroy Unexecuted instantiation: http_fopen_wrapper.c:zend_arena_destroy Unexecuted instantiation: php_fopen_wrapper.c:zend_arena_destroy Unexecuted instantiation: credits.c:zend_arena_destroy Unexecuted instantiation: css.c:zend_arena_destroy Unexecuted instantiation: var_unserializer.c:zend_arena_destroy Unexecuted instantiation: ftok.c:zend_arena_destroy Unexecuted instantiation: sha1.c:zend_arena_destroy Unexecuted instantiation: user_filters.c:zend_arena_destroy Unexecuted instantiation: uuencode.c:zend_arena_destroy Unexecuted instantiation: filters.c:zend_arena_destroy Unexecuted instantiation: proc_open.c:zend_arena_destroy Unexecuted instantiation: streamsfuncs.c:zend_arena_destroy Unexecuted instantiation: http.c:zend_arena_destroy Unexecuted instantiation: password.c:zend_arena_destroy Unexecuted instantiation: random.c:zend_arena_destroy Unexecuted instantiation: net.c:zend_arena_destroy Unexecuted instantiation: hrtime.c:zend_arena_destroy Unexecuted instantiation: main.c:zend_arena_destroy Unexecuted instantiation: snprintf.c:zend_arena_destroy Unexecuted instantiation: spprintf.c:zend_arena_destroy Unexecuted instantiation: fopen_wrappers.c:zend_arena_destroy Unexecuted instantiation: php_scandir.c:zend_arena_destroy Unexecuted instantiation: php_ini.c:zend_arena_destroy Unexecuted instantiation: SAPI.c:zend_arena_destroy Unexecuted instantiation: rfc1867.c:zend_arena_destroy Unexecuted instantiation: php_content_types.c:zend_arena_destroy Unexecuted instantiation: strlcpy.c:zend_arena_destroy Unexecuted instantiation: strlcat.c:zend_arena_destroy Unexecuted instantiation: explicit_bzero.c:zend_arena_destroy Unexecuted instantiation: reentrancy.c:zend_arena_destroy Unexecuted instantiation: php_variables.c:zend_arena_destroy Unexecuted instantiation: php_ticks.c:zend_arena_destroy Unexecuted instantiation: network.c:zend_arena_destroy Unexecuted instantiation: php_open_temporary_file.c:zend_arena_destroy Unexecuted instantiation: output.c:zend_arena_destroy Unexecuted instantiation: getopt.c:zend_arena_destroy Unexecuted instantiation: php_syslog.c:zend_arena_destroy Unexecuted instantiation: streams.c:zend_arena_destroy Unexecuted instantiation: cast.c:zend_arena_destroy Unexecuted instantiation: memory.c:zend_arena_destroy Unexecuted instantiation: filter.c:zend_arena_destroy Unexecuted instantiation: plain_wrapper.c:zend_arena_destroy Unexecuted instantiation: userspace.c:zend_arena_destroy Unexecuted instantiation: transports.c:zend_arena_destroy Unexecuted instantiation: xp_socket.c:zend_arena_destroy Unexecuted instantiation: mmap.c:zend_arena_destroy Unexecuted instantiation: glob_wrapper.c:zend_arena_destroy Unexecuted instantiation: zend_language_parser.c:zend_arena_destroy zend_language_scanner.c:zend_arena_destroy Line | Count | Source | 45 | 246k | { | 46 | 250k | do { | 47 | 250k | zend_arena *prev = arena->prev; | 48 | 250k | efree(arena); | 49 | 250k | arena = prev; | 50 | 250k | } while (arena); | 51 | 246k | } |
Unexecuted instantiation: zend_ini_parser.c:zend_arena_destroy Unexecuted instantiation: zend_ini_scanner.c:zend_arena_destroy Unexecuted instantiation: zend_alloc.c:zend_arena_destroy zend_compile.c:zend_arena_destroy Line | Count | Source | 45 | 267k | { | 46 | 267k | do { | 47 | 267k | zend_arena *prev = arena->prev; | 48 | 267k | efree(arena); | 49 | 267k | arena = prev; | 50 | 267k | } while (arena); | 51 | 267k | } |
Unexecuted instantiation: zend_constants.c:zend_arena_destroy Unexecuted instantiation: zend_dtrace.c:zend_arena_destroy Unexecuted instantiation: zend_execute_API.c:zend_arena_destroy Unexecuted instantiation: zend_highlight.c:zend_arena_destroy Unexecuted instantiation: zend_opcode.c:zend_arena_destroy Unexecuted instantiation: zend_operators.c:zend_arena_destroy Unexecuted instantiation: zend_variables.c:zend_arena_destroy Unexecuted instantiation: zend.c:zend_arena_destroy Unexecuted instantiation: zend_API.c:zend_arena_destroy Unexecuted instantiation: zend_extensions.c:zend_arena_destroy Unexecuted instantiation: zend_hash.c:zend_arena_destroy Unexecuted instantiation: zend_list.c:zend_arena_destroy Unexecuted instantiation: zend_builtin_functions.c:zend_arena_destroy Unexecuted instantiation: zend_attributes.c:zend_arena_destroy Unexecuted instantiation: zend_execute.c:zend_arena_destroy Unexecuted instantiation: zend_ini.c:zend_arena_destroy Unexecuted instantiation: zend_multibyte.c:zend_arena_destroy Unexecuted instantiation: zend_stream.c:zend_arena_destroy Unexecuted instantiation: zend_iterators.c:zend_arena_destroy Unexecuted instantiation: zend_interfaces.c:zend_arena_destroy Unexecuted instantiation: zend_exceptions.c:zend_arena_destroy Unexecuted instantiation: zend_gc.c:zend_arena_destroy Unexecuted instantiation: zend_closures.c:zend_arena_destroy Unexecuted instantiation: zend_weakrefs.c:zend_arena_destroy Unexecuted instantiation: zend_float.c:zend_arena_destroy Unexecuted instantiation: zend_string.c:zend_arena_destroy Unexecuted instantiation: zend_signal.c:zend_arena_destroy Unexecuted instantiation: zend_generators.c:zend_arena_destroy Unexecuted instantiation: zend_ast.c:zend_arena_destroy Unexecuted instantiation: zend_objects.c:zend_arena_destroy Unexecuted instantiation: zend_object_handlers.c:zend_arena_destroy Unexecuted instantiation: zend_objects_API.c:zend_arena_destroy Unexecuted instantiation: zend_default_classes.c:zend_arena_destroy Unexecuted instantiation: zend_inheritance.c:zend_arena_destroy Unexecuted instantiation: zend_smart_str.c:zend_arena_destroy Unexecuted instantiation: internal_functions_cli.c:zend_arena_destroy Unexecuted instantiation: fuzzer-parser.c:zend_arena_destroy Unexecuted instantiation: fuzzer-sapi.c:zend_arena_destroy |
52 | | |
53 | | static zend_always_inline void* zend_arena_alloc(zend_arena **arena_ptr, size_t size) |
54 | 42.3M | { |
55 | 42.3M | zend_arena *arena = *arena_ptr; |
56 | 42.3M | char *ptr = arena->ptr; |
57 | | |
58 | 42.3M | size = ZEND_MM_ALIGNED_SIZE(size); |
59 | | |
60 | 42.3M | if (EXPECTED(size <= (size_t)(arena->end - ptr))) { |
61 | 42.3M | arena->ptr = ptr + size; |
62 | 4.70k | } else { |
63 | 4.70k | size_t arena_size = |
64 | 4.70k | UNEXPECTED((size + ZEND_MM_ALIGNED_SIZE(sizeof(zend_arena))) > (size_t)(arena->end - (char*) arena)) ? |
65 | 59 | (size + ZEND_MM_ALIGNED_SIZE(sizeof(zend_arena))) : |
66 | 4.64k | (size_t)(arena->end - (char*) arena); |
67 | 4.70k | zend_arena *new_arena = (zend_arena*)emalloc(arena_size); |
68 | | |
69 | 4.70k | ptr = (char*) new_arena + ZEND_MM_ALIGNED_SIZE(sizeof(zend_arena)); |
70 | 4.70k | new_arena->ptr = (char*) new_arena + ZEND_MM_ALIGNED_SIZE(sizeof(zend_arena)) + size; |
71 | 4.70k | new_arena->end = (char*) new_arena + arena_size; |
72 | 4.70k | new_arena->prev = arena; |
73 | 4.70k | *arena_ptr = new_arena; |
74 | 4.70k | } |
75 | | |
76 | 42.3M | return (void*) ptr; |
77 | 42.3M | } Unexecuted instantiation: php_date.c:zend_arena_alloc Unexecuted instantiation: php_pcre.c:zend_arena_alloc Unexecuted instantiation: exif.c:zend_arena_alloc Unexecuted instantiation: hash.c:zend_arena_alloc Unexecuted instantiation: hash_md.c:zend_arena_alloc Unexecuted instantiation: hash_sha.c:zend_arena_alloc Unexecuted instantiation: hash_ripemd.c:zend_arena_alloc Unexecuted instantiation: hash_haval.c:zend_arena_alloc Unexecuted instantiation: hash_tiger.c:zend_arena_alloc Unexecuted instantiation: hash_gost.c:zend_arena_alloc Unexecuted instantiation: hash_snefru.c:zend_arena_alloc Unexecuted instantiation: hash_whirlpool.c:zend_arena_alloc Unexecuted instantiation: hash_adler32.c:zend_arena_alloc Unexecuted instantiation: hash_crc32.c:zend_arena_alloc Unexecuted instantiation: hash_fnv.c:zend_arena_alloc Unexecuted instantiation: hash_joaat.c:zend_arena_alloc Unexecuted instantiation: hash_sha3.c:zend_arena_alloc Unexecuted instantiation: json.c:zend_arena_alloc Unexecuted instantiation: json_encoder.c:zend_arena_alloc Unexecuted instantiation: json_parser.tab.c:zend_arena_alloc Unexecuted instantiation: json_scanner.c:zend_arena_alloc Unexecuted instantiation: mbstring.c:zend_arena_alloc Unexecuted instantiation: php_unicode.c:zend_arena_alloc Unexecuted instantiation: mb_gpc.c:zend_arena_alloc Unexecuted instantiation: php_mbregex.c:zend_arena_alloc Unexecuted instantiation: php_reflection.c:zend_arena_alloc Unexecuted instantiation: php_spl.c:zend_arena_alloc Unexecuted instantiation: spl_functions.c:zend_arena_alloc Unexecuted instantiation: spl_engine.c:zend_arena_alloc Unexecuted instantiation: spl_iterators.c:zend_arena_alloc Unexecuted instantiation: spl_array.c:zend_arena_alloc Unexecuted instantiation: spl_directory.c:zend_arena_alloc Unexecuted instantiation: spl_exceptions.c:zend_arena_alloc Unexecuted instantiation: spl_observer.c:zend_arena_alloc Unexecuted instantiation: spl_dllist.c:zend_arena_alloc Unexecuted instantiation: spl_heap.c:zend_arena_alloc Unexecuted instantiation: spl_fixedarray.c:zend_arena_alloc Unexecuted instantiation: crypt_sha512.c:zend_arena_alloc Unexecuted instantiation: crypt_sha256.c:zend_arena_alloc Unexecuted instantiation: php_crypt_r.c:zend_arena_alloc Unexecuted instantiation: array.c:zend_arena_alloc Unexecuted instantiation: base64.c:zend_arena_alloc Unexecuted instantiation: basic_functions.c:zend_arena_alloc Unexecuted instantiation: browscap.c:zend_arena_alloc Unexecuted instantiation: crc32.c:zend_arena_alloc Unexecuted instantiation: crypt.c:zend_arena_alloc Unexecuted instantiation: datetime.c:zend_arena_alloc Unexecuted instantiation: dir.c:zend_arena_alloc Unexecuted instantiation: dl.c:zend_arena_alloc Unexecuted instantiation: dns.c:zend_arena_alloc Unexecuted instantiation: exec.c:zend_arena_alloc Unexecuted instantiation: file.c:zend_arena_alloc Unexecuted instantiation: filestat.c:zend_arena_alloc Unexecuted instantiation: flock_compat.c:zend_arena_alloc Unexecuted instantiation: formatted_print.c:zend_arena_alloc Unexecuted instantiation: fsock.c:zend_arena_alloc Unexecuted instantiation: head.c:zend_arena_alloc Unexecuted instantiation: html.c:zend_arena_alloc Unexecuted instantiation: image.c:zend_arena_alloc Unexecuted instantiation: info.c:zend_arena_alloc Unexecuted instantiation: iptc.c:zend_arena_alloc Unexecuted instantiation: lcg.c:zend_arena_alloc Unexecuted instantiation: link.c:zend_arena_alloc Unexecuted instantiation: mail.c:zend_arena_alloc Unexecuted instantiation: math.c:zend_arena_alloc Unexecuted instantiation: md5.c:zend_arena_alloc Unexecuted instantiation: metaphone.c:zend_arena_alloc Unexecuted instantiation: microtime.c:zend_arena_alloc Unexecuted instantiation: pack.c:zend_arena_alloc Unexecuted instantiation: pageinfo.c:zend_arena_alloc Unexecuted instantiation: quot_print.c:zend_arena_alloc Unexecuted instantiation: rand.c:zend_arena_alloc Unexecuted instantiation: mt_rand.c:zend_arena_alloc Unexecuted instantiation: soundex.c:zend_arena_alloc Unexecuted instantiation: string.c:zend_arena_alloc Unexecuted instantiation: scanf.c:zend_arena_alloc Unexecuted instantiation: syslog.c:zend_arena_alloc Unexecuted instantiation: type.c:zend_arena_alloc Unexecuted instantiation: uniqid.c:zend_arena_alloc Unexecuted instantiation: url.c:zend_arena_alloc Unexecuted instantiation: var.c:zend_arena_alloc Unexecuted instantiation: versioning.c:zend_arena_alloc Unexecuted instantiation: assert.c:zend_arena_alloc Unexecuted instantiation: strnatcmp.c:zend_arena_alloc Unexecuted instantiation: levenshtein.c:zend_arena_alloc Unexecuted instantiation: incomplete_class.c:zend_arena_alloc Unexecuted instantiation: url_scanner_ex.c:zend_arena_alloc Unexecuted instantiation: ftp_fopen_wrapper.c:zend_arena_alloc Unexecuted instantiation: http_fopen_wrapper.c:zend_arena_alloc Unexecuted instantiation: php_fopen_wrapper.c:zend_arena_alloc Unexecuted instantiation: credits.c:zend_arena_alloc Unexecuted instantiation: css.c:zend_arena_alloc Unexecuted instantiation: var_unserializer.c:zend_arena_alloc Unexecuted instantiation: ftok.c:zend_arena_alloc Unexecuted instantiation: sha1.c:zend_arena_alloc Unexecuted instantiation: user_filters.c:zend_arena_alloc Unexecuted instantiation: uuencode.c:zend_arena_alloc Unexecuted instantiation: filters.c:zend_arena_alloc Unexecuted instantiation: proc_open.c:zend_arena_alloc Unexecuted instantiation: streamsfuncs.c:zend_arena_alloc Unexecuted instantiation: http.c:zend_arena_alloc Unexecuted instantiation: password.c:zend_arena_alloc Unexecuted instantiation: random.c:zend_arena_alloc Unexecuted instantiation: net.c:zend_arena_alloc Unexecuted instantiation: hrtime.c:zend_arena_alloc Unexecuted instantiation: main.c:zend_arena_alloc Unexecuted instantiation: snprintf.c:zend_arena_alloc Unexecuted instantiation: spprintf.c:zend_arena_alloc Unexecuted instantiation: fopen_wrappers.c:zend_arena_alloc Unexecuted instantiation: php_scandir.c:zend_arena_alloc Unexecuted instantiation: php_ini.c:zend_arena_alloc Unexecuted instantiation: SAPI.c:zend_arena_alloc Unexecuted instantiation: rfc1867.c:zend_arena_alloc Unexecuted instantiation: php_content_types.c:zend_arena_alloc Unexecuted instantiation: strlcpy.c:zend_arena_alloc Unexecuted instantiation: strlcat.c:zend_arena_alloc Unexecuted instantiation: explicit_bzero.c:zend_arena_alloc Unexecuted instantiation: reentrancy.c:zend_arena_alloc Unexecuted instantiation: php_variables.c:zend_arena_alloc Unexecuted instantiation: php_ticks.c:zend_arena_alloc Unexecuted instantiation: network.c:zend_arena_alloc Unexecuted instantiation: php_open_temporary_file.c:zend_arena_alloc Unexecuted instantiation: output.c:zend_arena_alloc Unexecuted instantiation: getopt.c:zend_arena_alloc Unexecuted instantiation: php_syslog.c:zend_arena_alloc Unexecuted instantiation: streams.c:zend_arena_alloc Unexecuted instantiation: cast.c:zend_arena_alloc Unexecuted instantiation: memory.c:zend_arena_alloc Unexecuted instantiation: filter.c:zend_arena_alloc Unexecuted instantiation: plain_wrapper.c:zend_arena_alloc Unexecuted instantiation: userspace.c:zend_arena_alloc Unexecuted instantiation: transports.c:zend_arena_alloc Unexecuted instantiation: xp_socket.c:zend_arena_alloc Unexecuted instantiation: mmap.c:zend_arena_alloc Unexecuted instantiation: glob_wrapper.c:zend_arena_alloc Unexecuted instantiation: zend_language_parser.c:zend_arena_alloc Unexecuted instantiation: zend_language_scanner.c:zend_arena_alloc Unexecuted instantiation: zend_ini_parser.c:zend_arena_alloc Unexecuted instantiation: zend_ini_scanner.c:zend_arena_alloc Unexecuted instantiation: zend_alloc.c:zend_arena_alloc zend_compile.c:zend_arena_alloc Line | Count | Source | 54 | 695k | { | 55 | 695k | zend_arena *arena = *arena_ptr; | 56 | 695k | char *ptr = arena->ptr; | 57 | | | 58 | 695k | size = ZEND_MM_ALIGNED_SIZE(size); | 59 | | | 60 | 695k | if (EXPECTED(size <= (size_t)(arena->end - ptr))) { | 61 | 695k | arena->ptr = ptr + size; | 62 | 0 | } else { | 63 | 0 | size_t arena_size = | 64 | 0 | UNEXPECTED((size + ZEND_MM_ALIGNED_SIZE(sizeof(zend_arena))) > (size_t)(arena->end - (char*) arena)) ? | 65 | 0 | (size + ZEND_MM_ALIGNED_SIZE(sizeof(zend_arena))) : | 66 | 0 | (size_t)(arena->end - (char*) arena); | 67 | 0 | zend_arena *new_arena = (zend_arena*)emalloc(arena_size); | 68 | |
| 69 | 0 | ptr = (char*) new_arena + ZEND_MM_ALIGNED_SIZE(sizeof(zend_arena)); | 70 | 0 | new_arena->ptr = (char*) new_arena + ZEND_MM_ALIGNED_SIZE(sizeof(zend_arena)) + size; | 71 | 0 | new_arena->end = (char*) new_arena + arena_size; | 72 | 0 | new_arena->prev = arena; | 73 | 0 | *arena_ptr = new_arena; | 74 | 0 | } | 75 | | | 76 | 695k | return (void*) ptr; | 77 | 695k | } |
Unexecuted instantiation: zend_constants.c:zend_arena_alloc Unexecuted instantiation: zend_dtrace.c:zend_arena_alloc Unexecuted instantiation: zend_execute_API.c:zend_arena_alloc Unexecuted instantiation: zend_highlight.c:zend_arena_alloc Unexecuted instantiation: zend_opcode.c:zend_arena_alloc Unexecuted instantiation: zend_operators.c:zend_arena_alloc Unexecuted instantiation: zend_variables.c:zend_arena_alloc Unexecuted instantiation: zend.c:zend_arena_alloc zend_API.c:zend_arena_alloc Line | Count | Source | 54 | 187k | { | 55 | 187k | zend_arena *arena = *arena_ptr; | 56 | 187k | char *ptr = arena->ptr; | 57 | | | 58 | 187k | size = ZEND_MM_ALIGNED_SIZE(size); | 59 | | | 60 | 187k | if (EXPECTED(size <= (size_t)(arena->end - ptr))) { | 61 | 187k | arena->ptr = ptr + size; | 62 | 0 | } else { | 63 | 0 | size_t arena_size = | 64 | 0 | UNEXPECTED((size + ZEND_MM_ALIGNED_SIZE(sizeof(zend_arena))) > (size_t)(arena->end - (char*) arena)) ? | 65 | 0 | (size + ZEND_MM_ALIGNED_SIZE(sizeof(zend_arena))) : | 66 | 0 | (size_t)(arena->end - (char*) arena); | 67 | 0 | zend_arena *new_arena = (zend_arena*)emalloc(arena_size); | 68 | |
| 69 | 0 | ptr = (char*) new_arena + ZEND_MM_ALIGNED_SIZE(sizeof(zend_arena)); | 70 | 0 | new_arena->ptr = (char*) new_arena + ZEND_MM_ALIGNED_SIZE(sizeof(zend_arena)) + size; | 71 | 0 | new_arena->end = (char*) new_arena + arena_size; | 72 | 0 | new_arena->prev = arena; | 73 | 0 | *arena_ptr = new_arena; | 74 | 0 | } | 75 | | | 76 | 187k | return (void*) ptr; | 77 | 187k | } |
Unexecuted instantiation: zend_extensions.c:zend_arena_alloc Unexecuted instantiation: zend_hash.c:zend_arena_alloc Unexecuted instantiation: zend_list.c:zend_arena_alloc Unexecuted instantiation: zend_builtin_functions.c:zend_arena_alloc Unexecuted instantiation: zend_attributes.c:zend_arena_alloc Unexecuted instantiation: zend_execute.c:zend_arena_alloc Unexecuted instantiation: zend_ini.c:zend_arena_alloc Unexecuted instantiation: zend_multibyte.c:zend_arena_alloc Unexecuted instantiation: zend_stream.c:zend_arena_alloc Unexecuted instantiation: zend_iterators.c:zend_arena_alloc zend_interfaces.c:zend_arena_alloc Line | Count | Source | 54 | 327 | { | 55 | 327 | zend_arena *arena = *arena_ptr; | 56 | 327 | char *ptr = arena->ptr; | 57 | | | 58 | 327 | size = ZEND_MM_ALIGNED_SIZE(size); | 59 | | | 60 | 327 | if (EXPECTED(size <= (size_t)(arena->end - ptr))) { | 61 | 327 | arena->ptr = ptr + size; | 62 | 0 | } else { | 63 | 0 | size_t arena_size = | 64 | 0 | UNEXPECTED((size + ZEND_MM_ALIGNED_SIZE(sizeof(zend_arena))) > (size_t)(arena->end - (char*) arena)) ? | 65 | 0 | (size + ZEND_MM_ALIGNED_SIZE(sizeof(zend_arena))) : | 66 | 0 | (size_t)(arena->end - (char*) arena); | 67 | 0 | zend_arena *new_arena = (zend_arena*)emalloc(arena_size); | 68 | |
| 69 | 0 | ptr = (char*) new_arena + ZEND_MM_ALIGNED_SIZE(sizeof(zend_arena)); | 70 | 0 | new_arena->ptr = (char*) new_arena + ZEND_MM_ALIGNED_SIZE(sizeof(zend_arena)) + size; | 71 | 0 | new_arena->end = (char*) new_arena + arena_size; | 72 | 0 | new_arena->prev = arena; | 73 | 0 | *arena_ptr = new_arena; | 74 | 0 | } | 75 | | | 76 | 327 | return (void*) ptr; | 77 | 327 | } |
Unexecuted instantiation: zend_exceptions.c:zend_arena_alloc Unexecuted instantiation: zend_gc.c:zend_arena_alloc Unexecuted instantiation: zend_closures.c:zend_arena_alloc Unexecuted instantiation: zend_weakrefs.c:zend_arena_alloc Unexecuted instantiation: zend_float.c:zend_arena_alloc Unexecuted instantiation: zend_string.c:zend_arena_alloc Unexecuted instantiation: zend_signal.c:zend_arena_alloc Unexecuted instantiation: zend_generators.c:zend_arena_alloc zend_ast.c:zend_arena_alloc Line | Count | Source | 54 | 41.4M | { | 55 | 41.4M | zend_arena *arena = *arena_ptr; | 56 | 41.4M | char *ptr = arena->ptr; | 57 | | | 58 | 41.4M | size = ZEND_MM_ALIGNED_SIZE(size); | 59 | | | 60 | 41.4M | if (EXPECTED(size <= (size_t)(arena->end - ptr))) { | 61 | 41.4M | arena->ptr = ptr + size; | 62 | 4.70k | } else { | 63 | 4.70k | size_t arena_size = | 64 | 4.70k | UNEXPECTED((size + ZEND_MM_ALIGNED_SIZE(sizeof(zend_arena))) > (size_t)(arena->end - (char*) arena)) ? | 65 | 59 | (size + ZEND_MM_ALIGNED_SIZE(sizeof(zend_arena))) : | 66 | 4.64k | (size_t)(arena->end - (char*) arena); | 67 | 4.70k | zend_arena *new_arena = (zend_arena*)emalloc(arena_size); | 68 | | | 69 | 4.70k | ptr = (char*) new_arena + ZEND_MM_ALIGNED_SIZE(sizeof(zend_arena)); | 70 | 4.70k | new_arena->ptr = (char*) new_arena + ZEND_MM_ALIGNED_SIZE(sizeof(zend_arena)) + size; | 71 | 4.70k | new_arena->end = (char*) new_arena + arena_size; | 72 | 4.70k | new_arena->prev = arena; | 73 | 4.70k | *arena_ptr = new_arena; | 74 | 4.70k | } | 75 | | | 76 | 41.4M | return (void*) ptr; | 77 | 41.4M | } |
Unexecuted instantiation: zend_objects.c:zend_arena_alloc Unexecuted instantiation: zend_object_handlers.c:zend_arena_alloc Unexecuted instantiation: zend_objects_API.c:zend_arena_alloc Unexecuted instantiation: zend_default_classes.c:zend_arena_alloc zend_inheritance.c:zend_arena_alloc Line | Count | Source | 54 | 42.0k | { | 55 | 42.0k | zend_arena *arena = *arena_ptr; | 56 | 42.0k | char *ptr = arena->ptr; | 57 | | | 58 | 42.0k | size = ZEND_MM_ALIGNED_SIZE(size); | 59 | | | 60 | 42.0k | if (EXPECTED(size <= (size_t)(arena->end - ptr))) { | 61 | 42.0k | arena->ptr = ptr + size; | 62 | 0 | } else { | 63 | 0 | size_t arena_size = | 64 | 0 | UNEXPECTED((size + ZEND_MM_ALIGNED_SIZE(sizeof(zend_arena))) > (size_t)(arena->end - (char*) arena)) ? | 65 | 0 | (size + ZEND_MM_ALIGNED_SIZE(sizeof(zend_arena))) : | 66 | 0 | (size_t)(arena->end - (char*) arena); | 67 | 0 | zend_arena *new_arena = (zend_arena*)emalloc(arena_size); | 68 | |
| 69 | 0 | ptr = (char*) new_arena + ZEND_MM_ALIGNED_SIZE(sizeof(zend_arena)); | 70 | 0 | new_arena->ptr = (char*) new_arena + ZEND_MM_ALIGNED_SIZE(sizeof(zend_arena)) + size; | 71 | 0 | new_arena->end = (char*) new_arena + arena_size; | 72 | 0 | new_arena->prev = arena; | 73 | 0 | *arena_ptr = new_arena; | 74 | 0 | } | 75 | | | 76 | 42.0k | return (void*) ptr; | 77 | 42.0k | } |
Unexecuted instantiation: zend_smart_str.c:zend_arena_alloc Unexecuted instantiation: internal_functions_cli.c:zend_arena_alloc Unexecuted instantiation: fuzzer-parser.c:zend_arena_alloc Unexecuted instantiation: fuzzer-sapi.c:zend_arena_alloc |
78 | | |
79 | | static zend_always_inline void* zend_arena_calloc(zend_arena **arena_ptr, size_t count, size_t unit_size) |
80 | 0 | { |
81 | 0 | int overflow; |
82 | 0 | size_t size; |
83 | 0 | void *ret; |
84 | 0 |
|
85 | 0 | size = zend_safe_address(unit_size, count, 0, &overflow); |
86 | 0 | if (UNEXPECTED(overflow)) { |
87 | 0 | zend_error(E_ERROR, "Possible integer overflow in zend_arena_calloc() (%zu * %zu)", unit_size, count); |
88 | 0 | } |
89 | 0 | ret = zend_arena_alloc(arena_ptr, size); |
90 | 0 | memset(ret, 0, size); |
91 | 0 | return ret; |
92 | 0 | } Unexecuted instantiation: php_date.c:zend_arena_calloc Unexecuted instantiation: php_pcre.c:zend_arena_calloc Unexecuted instantiation: exif.c:zend_arena_calloc Unexecuted instantiation: hash.c:zend_arena_calloc Unexecuted instantiation: hash_md.c:zend_arena_calloc Unexecuted instantiation: hash_sha.c:zend_arena_calloc Unexecuted instantiation: hash_ripemd.c:zend_arena_calloc Unexecuted instantiation: hash_haval.c:zend_arena_calloc Unexecuted instantiation: hash_tiger.c:zend_arena_calloc Unexecuted instantiation: hash_gost.c:zend_arena_calloc Unexecuted instantiation: hash_snefru.c:zend_arena_calloc Unexecuted instantiation: hash_whirlpool.c:zend_arena_calloc Unexecuted instantiation: hash_adler32.c:zend_arena_calloc Unexecuted instantiation: hash_crc32.c:zend_arena_calloc Unexecuted instantiation: hash_fnv.c:zend_arena_calloc Unexecuted instantiation: hash_joaat.c:zend_arena_calloc Unexecuted instantiation: hash_sha3.c:zend_arena_calloc Unexecuted instantiation: json.c:zend_arena_calloc Unexecuted instantiation: json_encoder.c:zend_arena_calloc Unexecuted instantiation: json_parser.tab.c:zend_arena_calloc Unexecuted instantiation: json_scanner.c:zend_arena_calloc Unexecuted instantiation: mbstring.c:zend_arena_calloc Unexecuted instantiation: php_unicode.c:zend_arena_calloc Unexecuted instantiation: mb_gpc.c:zend_arena_calloc Unexecuted instantiation: php_mbregex.c:zend_arena_calloc Unexecuted instantiation: php_reflection.c:zend_arena_calloc Unexecuted instantiation: php_spl.c:zend_arena_calloc Unexecuted instantiation: spl_functions.c:zend_arena_calloc Unexecuted instantiation: spl_engine.c:zend_arena_calloc Unexecuted instantiation: spl_iterators.c:zend_arena_calloc Unexecuted instantiation: spl_array.c:zend_arena_calloc Unexecuted instantiation: spl_directory.c:zend_arena_calloc Unexecuted instantiation: spl_exceptions.c:zend_arena_calloc Unexecuted instantiation: spl_observer.c:zend_arena_calloc Unexecuted instantiation: spl_dllist.c:zend_arena_calloc Unexecuted instantiation: spl_heap.c:zend_arena_calloc Unexecuted instantiation: spl_fixedarray.c:zend_arena_calloc Unexecuted instantiation: crypt_sha512.c:zend_arena_calloc Unexecuted instantiation: crypt_sha256.c:zend_arena_calloc Unexecuted instantiation: php_crypt_r.c:zend_arena_calloc Unexecuted instantiation: array.c:zend_arena_calloc Unexecuted instantiation: base64.c:zend_arena_calloc Unexecuted instantiation: basic_functions.c:zend_arena_calloc Unexecuted instantiation: browscap.c:zend_arena_calloc Unexecuted instantiation: crc32.c:zend_arena_calloc Unexecuted instantiation: crypt.c:zend_arena_calloc Unexecuted instantiation: datetime.c:zend_arena_calloc Unexecuted instantiation: dir.c:zend_arena_calloc Unexecuted instantiation: dl.c:zend_arena_calloc Unexecuted instantiation: dns.c:zend_arena_calloc Unexecuted instantiation: exec.c:zend_arena_calloc Unexecuted instantiation: file.c:zend_arena_calloc Unexecuted instantiation: filestat.c:zend_arena_calloc Unexecuted instantiation: flock_compat.c:zend_arena_calloc Unexecuted instantiation: formatted_print.c:zend_arena_calloc Unexecuted instantiation: fsock.c:zend_arena_calloc Unexecuted instantiation: head.c:zend_arena_calloc Unexecuted instantiation: html.c:zend_arena_calloc Unexecuted instantiation: image.c:zend_arena_calloc Unexecuted instantiation: info.c:zend_arena_calloc Unexecuted instantiation: iptc.c:zend_arena_calloc Unexecuted instantiation: lcg.c:zend_arena_calloc Unexecuted instantiation: link.c:zend_arena_calloc Unexecuted instantiation: mail.c:zend_arena_calloc Unexecuted instantiation: math.c:zend_arena_calloc Unexecuted instantiation: md5.c:zend_arena_calloc Unexecuted instantiation: metaphone.c:zend_arena_calloc Unexecuted instantiation: microtime.c:zend_arena_calloc Unexecuted instantiation: pack.c:zend_arena_calloc Unexecuted instantiation: pageinfo.c:zend_arena_calloc Unexecuted instantiation: quot_print.c:zend_arena_calloc Unexecuted instantiation: rand.c:zend_arena_calloc Unexecuted instantiation: mt_rand.c:zend_arena_calloc Unexecuted instantiation: soundex.c:zend_arena_calloc Unexecuted instantiation: string.c:zend_arena_calloc Unexecuted instantiation: scanf.c:zend_arena_calloc Unexecuted instantiation: syslog.c:zend_arena_calloc Unexecuted instantiation: type.c:zend_arena_calloc Unexecuted instantiation: uniqid.c:zend_arena_calloc Unexecuted instantiation: url.c:zend_arena_calloc Unexecuted instantiation: var.c:zend_arena_calloc Unexecuted instantiation: versioning.c:zend_arena_calloc Unexecuted instantiation: assert.c:zend_arena_calloc Unexecuted instantiation: strnatcmp.c:zend_arena_calloc Unexecuted instantiation: levenshtein.c:zend_arena_calloc Unexecuted instantiation: incomplete_class.c:zend_arena_calloc Unexecuted instantiation: url_scanner_ex.c:zend_arena_calloc Unexecuted instantiation: ftp_fopen_wrapper.c:zend_arena_calloc Unexecuted instantiation: http_fopen_wrapper.c:zend_arena_calloc Unexecuted instantiation: php_fopen_wrapper.c:zend_arena_calloc Unexecuted instantiation: credits.c:zend_arena_calloc Unexecuted instantiation: css.c:zend_arena_calloc Unexecuted instantiation: var_unserializer.c:zend_arena_calloc Unexecuted instantiation: ftok.c:zend_arena_calloc Unexecuted instantiation: sha1.c:zend_arena_calloc Unexecuted instantiation: user_filters.c:zend_arena_calloc Unexecuted instantiation: uuencode.c:zend_arena_calloc Unexecuted instantiation: filters.c:zend_arena_calloc Unexecuted instantiation: proc_open.c:zend_arena_calloc Unexecuted instantiation: streamsfuncs.c:zend_arena_calloc Unexecuted instantiation: http.c:zend_arena_calloc Unexecuted instantiation: password.c:zend_arena_calloc Unexecuted instantiation: random.c:zend_arena_calloc Unexecuted instantiation: net.c:zend_arena_calloc Unexecuted instantiation: hrtime.c:zend_arena_calloc Unexecuted instantiation: main.c:zend_arena_calloc Unexecuted instantiation: snprintf.c:zend_arena_calloc Unexecuted instantiation: spprintf.c:zend_arena_calloc Unexecuted instantiation: fopen_wrappers.c:zend_arena_calloc Unexecuted instantiation: php_scandir.c:zend_arena_calloc Unexecuted instantiation: php_ini.c:zend_arena_calloc Unexecuted instantiation: SAPI.c:zend_arena_calloc Unexecuted instantiation: rfc1867.c:zend_arena_calloc Unexecuted instantiation: php_content_types.c:zend_arena_calloc Unexecuted instantiation: strlcpy.c:zend_arena_calloc Unexecuted instantiation: strlcat.c:zend_arena_calloc Unexecuted instantiation: explicit_bzero.c:zend_arena_calloc Unexecuted instantiation: reentrancy.c:zend_arena_calloc Unexecuted instantiation: php_variables.c:zend_arena_calloc Unexecuted instantiation: php_ticks.c:zend_arena_calloc Unexecuted instantiation: network.c:zend_arena_calloc Unexecuted instantiation: php_open_temporary_file.c:zend_arena_calloc Unexecuted instantiation: output.c:zend_arena_calloc Unexecuted instantiation: getopt.c:zend_arena_calloc Unexecuted instantiation: php_syslog.c:zend_arena_calloc Unexecuted instantiation: streams.c:zend_arena_calloc Unexecuted instantiation: cast.c:zend_arena_calloc Unexecuted instantiation: memory.c:zend_arena_calloc Unexecuted instantiation: filter.c:zend_arena_calloc Unexecuted instantiation: plain_wrapper.c:zend_arena_calloc Unexecuted instantiation: userspace.c:zend_arena_calloc Unexecuted instantiation: transports.c:zend_arena_calloc Unexecuted instantiation: xp_socket.c:zend_arena_calloc Unexecuted instantiation: mmap.c:zend_arena_calloc Unexecuted instantiation: glob_wrapper.c:zend_arena_calloc Unexecuted instantiation: zend_language_parser.c:zend_arena_calloc Unexecuted instantiation: zend_language_scanner.c:zend_arena_calloc Unexecuted instantiation: zend_ini_parser.c:zend_arena_calloc Unexecuted instantiation: zend_ini_scanner.c:zend_arena_calloc Unexecuted instantiation: zend_alloc.c:zend_arena_calloc Unexecuted instantiation: zend_compile.c:zend_arena_calloc Unexecuted instantiation: zend_constants.c:zend_arena_calloc Unexecuted instantiation: zend_dtrace.c:zend_arena_calloc Unexecuted instantiation: zend_execute_API.c:zend_arena_calloc Unexecuted instantiation: zend_highlight.c:zend_arena_calloc Unexecuted instantiation: zend_opcode.c:zend_arena_calloc Unexecuted instantiation: zend_operators.c:zend_arena_calloc Unexecuted instantiation: zend_variables.c:zend_arena_calloc Unexecuted instantiation: zend.c:zend_arena_calloc Unexecuted instantiation: zend_API.c:zend_arena_calloc Unexecuted instantiation: zend_extensions.c:zend_arena_calloc Unexecuted instantiation: zend_hash.c:zend_arena_calloc Unexecuted instantiation: zend_list.c:zend_arena_calloc Unexecuted instantiation: zend_builtin_functions.c:zend_arena_calloc Unexecuted instantiation: zend_attributes.c:zend_arena_calloc Unexecuted instantiation: zend_execute.c:zend_arena_calloc Unexecuted instantiation: zend_ini.c:zend_arena_calloc Unexecuted instantiation: zend_multibyte.c:zend_arena_calloc Unexecuted instantiation: zend_stream.c:zend_arena_calloc Unexecuted instantiation: zend_iterators.c:zend_arena_calloc Unexecuted instantiation: zend_interfaces.c:zend_arena_calloc Unexecuted instantiation: zend_exceptions.c:zend_arena_calloc Unexecuted instantiation: zend_gc.c:zend_arena_calloc Unexecuted instantiation: zend_closures.c:zend_arena_calloc Unexecuted instantiation: zend_weakrefs.c:zend_arena_calloc Unexecuted instantiation: zend_float.c:zend_arena_calloc Unexecuted instantiation: zend_string.c:zend_arena_calloc Unexecuted instantiation: zend_signal.c:zend_arena_calloc Unexecuted instantiation: zend_generators.c:zend_arena_calloc Unexecuted instantiation: zend_ast.c:zend_arena_calloc Unexecuted instantiation: zend_objects.c:zend_arena_calloc Unexecuted instantiation: zend_object_handlers.c:zend_arena_calloc Unexecuted instantiation: zend_objects_API.c:zend_arena_calloc Unexecuted instantiation: zend_default_classes.c:zend_arena_calloc Unexecuted instantiation: zend_inheritance.c:zend_arena_calloc Unexecuted instantiation: zend_smart_str.c:zend_arena_calloc Unexecuted instantiation: internal_functions_cli.c:zend_arena_calloc Unexecuted instantiation: fuzzer-parser.c:zend_arena_calloc Unexecuted instantiation: fuzzer-sapi.c:zend_arena_calloc |
93 | | |
94 | | static zend_always_inline void* zend_arena_checkpoint(zend_arena *arena) |
95 | 0 | { |
96 | 0 | return arena->ptr; |
97 | 0 | } Unexecuted instantiation: php_date.c:zend_arena_checkpoint Unexecuted instantiation: php_pcre.c:zend_arena_checkpoint Unexecuted instantiation: exif.c:zend_arena_checkpoint Unexecuted instantiation: hash.c:zend_arena_checkpoint Unexecuted instantiation: hash_md.c:zend_arena_checkpoint Unexecuted instantiation: hash_sha.c:zend_arena_checkpoint Unexecuted instantiation: hash_ripemd.c:zend_arena_checkpoint Unexecuted instantiation: hash_haval.c:zend_arena_checkpoint Unexecuted instantiation: hash_tiger.c:zend_arena_checkpoint Unexecuted instantiation: hash_gost.c:zend_arena_checkpoint Unexecuted instantiation: hash_snefru.c:zend_arena_checkpoint Unexecuted instantiation: hash_whirlpool.c:zend_arena_checkpoint Unexecuted instantiation: hash_adler32.c:zend_arena_checkpoint Unexecuted instantiation: hash_crc32.c:zend_arena_checkpoint Unexecuted instantiation: hash_fnv.c:zend_arena_checkpoint Unexecuted instantiation: hash_joaat.c:zend_arena_checkpoint Unexecuted instantiation: hash_sha3.c:zend_arena_checkpoint Unexecuted instantiation: json.c:zend_arena_checkpoint Unexecuted instantiation: json_encoder.c:zend_arena_checkpoint Unexecuted instantiation: json_parser.tab.c:zend_arena_checkpoint Unexecuted instantiation: json_scanner.c:zend_arena_checkpoint Unexecuted instantiation: mbstring.c:zend_arena_checkpoint Unexecuted instantiation: php_unicode.c:zend_arena_checkpoint Unexecuted instantiation: mb_gpc.c:zend_arena_checkpoint Unexecuted instantiation: php_mbregex.c:zend_arena_checkpoint Unexecuted instantiation: php_reflection.c:zend_arena_checkpoint Unexecuted instantiation: php_spl.c:zend_arena_checkpoint Unexecuted instantiation: spl_functions.c:zend_arena_checkpoint Unexecuted instantiation: spl_engine.c:zend_arena_checkpoint Unexecuted instantiation: spl_iterators.c:zend_arena_checkpoint Unexecuted instantiation: spl_array.c:zend_arena_checkpoint Unexecuted instantiation: spl_directory.c:zend_arena_checkpoint Unexecuted instantiation: spl_exceptions.c:zend_arena_checkpoint Unexecuted instantiation: spl_observer.c:zend_arena_checkpoint Unexecuted instantiation: spl_dllist.c:zend_arena_checkpoint Unexecuted instantiation: spl_heap.c:zend_arena_checkpoint Unexecuted instantiation: spl_fixedarray.c:zend_arena_checkpoint Unexecuted instantiation: crypt_sha512.c:zend_arena_checkpoint Unexecuted instantiation: crypt_sha256.c:zend_arena_checkpoint Unexecuted instantiation: php_crypt_r.c:zend_arena_checkpoint Unexecuted instantiation: array.c:zend_arena_checkpoint Unexecuted instantiation: base64.c:zend_arena_checkpoint Unexecuted instantiation: basic_functions.c:zend_arena_checkpoint Unexecuted instantiation: browscap.c:zend_arena_checkpoint Unexecuted instantiation: crc32.c:zend_arena_checkpoint Unexecuted instantiation: crypt.c:zend_arena_checkpoint Unexecuted instantiation: datetime.c:zend_arena_checkpoint Unexecuted instantiation: dir.c:zend_arena_checkpoint Unexecuted instantiation: dl.c:zend_arena_checkpoint Unexecuted instantiation: dns.c:zend_arena_checkpoint Unexecuted instantiation: exec.c:zend_arena_checkpoint Unexecuted instantiation: file.c:zend_arena_checkpoint Unexecuted instantiation: filestat.c:zend_arena_checkpoint Unexecuted instantiation: flock_compat.c:zend_arena_checkpoint Unexecuted instantiation: formatted_print.c:zend_arena_checkpoint Unexecuted instantiation: fsock.c:zend_arena_checkpoint Unexecuted instantiation: head.c:zend_arena_checkpoint Unexecuted instantiation: html.c:zend_arena_checkpoint Unexecuted instantiation: image.c:zend_arena_checkpoint Unexecuted instantiation: info.c:zend_arena_checkpoint Unexecuted instantiation: iptc.c:zend_arena_checkpoint Unexecuted instantiation: lcg.c:zend_arena_checkpoint Unexecuted instantiation: link.c:zend_arena_checkpoint Unexecuted instantiation: mail.c:zend_arena_checkpoint Unexecuted instantiation: math.c:zend_arena_checkpoint Unexecuted instantiation: md5.c:zend_arena_checkpoint Unexecuted instantiation: metaphone.c:zend_arena_checkpoint Unexecuted instantiation: microtime.c:zend_arena_checkpoint Unexecuted instantiation: pack.c:zend_arena_checkpoint Unexecuted instantiation: pageinfo.c:zend_arena_checkpoint Unexecuted instantiation: quot_print.c:zend_arena_checkpoint Unexecuted instantiation: rand.c:zend_arena_checkpoint Unexecuted instantiation: mt_rand.c:zend_arena_checkpoint Unexecuted instantiation: soundex.c:zend_arena_checkpoint Unexecuted instantiation: string.c:zend_arena_checkpoint Unexecuted instantiation: scanf.c:zend_arena_checkpoint Unexecuted instantiation: syslog.c:zend_arena_checkpoint Unexecuted instantiation: type.c:zend_arena_checkpoint Unexecuted instantiation: uniqid.c:zend_arena_checkpoint Unexecuted instantiation: url.c:zend_arena_checkpoint Unexecuted instantiation: var.c:zend_arena_checkpoint Unexecuted instantiation: versioning.c:zend_arena_checkpoint Unexecuted instantiation: assert.c:zend_arena_checkpoint Unexecuted instantiation: strnatcmp.c:zend_arena_checkpoint Unexecuted instantiation: levenshtein.c:zend_arena_checkpoint Unexecuted instantiation: incomplete_class.c:zend_arena_checkpoint Unexecuted instantiation: url_scanner_ex.c:zend_arena_checkpoint Unexecuted instantiation: ftp_fopen_wrapper.c:zend_arena_checkpoint Unexecuted instantiation: http_fopen_wrapper.c:zend_arena_checkpoint Unexecuted instantiation: php_fopen_wrapper.c:zend_arena_checkpoint Unexecuted instantiation: credits.c:zend_arena_checkpoint Unexecuted instantiation: css.c:zend_arena_checkpoint Unexecuted instantiation: var_unserializer.c:zend_arena_checkpoint Unexecuted instantiation: ftok.c:zend_arena_checkpoint Unexecuted instantiation: sha1.c:zend_arena_checkpoint Unexecuted instantiation: user_filters.c:zend_arena_checkpoint Unexecuted instantiation: uuencode.c:zend_arena_checkpoint Unexecuted instantiation: filters.c:zend_arena_checkpoint Unexecuted instantiation: proc_open.c:zend_arena_checkpoint Unexecuted instantiation: streamsfuncs.c:zend_arena_checkpoint Unexecuted instantiation: http.c:zend_arena_checkpoint Unexecuted instantiation: password.c:zend_arena_checkpoint Unexecuted instantiation: random.c:zend_arena_checkpoint Unexecuted instantiation: net.c:zend_arena_checkpoint Unexecuted instantiation: hrtime.c:zend_arena_checkpoint Unexecuted instantiation: main.c:zend_arena_checkpoint Unexecuted instantiation: snprintf.c:zend_arena_checkpoint Unexecuted instantiation: spprintf.c:zend_arena_checkpoint Unexecuted instantiation: fopen_wrappers.c:zend_arena_checkpoint Unexecuted instantiation: php_scandir.c:zend_arena_checkpoint Unexecuted instantiation: php_ini.c:zend_arena_checkpoint Unexecuted instantiation: SAPI.c:zend_arena_checkpoint Unexecuted instantiation: rfc1867.c:zend_arena_checkpoint Unexecuted instantiation: php_content_types.c:zend_arena_checkpoint Unexecuted instantiation: strlcpy.c:zend_arena_checkpoint Unexecuted instantiation: strlcat.c:zend_arena_checkpoint Unexecuted instantiation: explicit_bzero.c:zend_arena_checkpoint Unexecuted instantiation: reentrancy.c:zend_arena_checkpoint Unexecuted instantiation: php_variables.c:zend_arena_checkpoint Unexecuted instantiation: php_ticks.c:zend_arena_checkpoint Unexecuted instantiation: network.c:zend_arena_checkpoint Unexecuted instantiation: php_open_temporary_file.c:zend_arena_checkpoint Unexecuted instantiation: output.c:zend_arena_checkpoint Unexecuted instantiation: getopt.c:zend_arena_checkpoint Unexecuted instantiation: php_syslog.c:zend_arena_checkpoint Unexecuted instantiation: streams.c:zend_arena_checkpoint Unexecuted instantiation: cast.c:zend_arena_checkpoint Unexecuted instantiation: memory.c:zend_arena_checkpoint Unexecuted instantiation: filter.c:zend_arena_checkpoint Unexecuted instantiation: plain_wrapper.c:zend_arena_checkpoint Unexecuted instantiation: userspace.c:zend_arena_checkpoint Unexecuted instantiation: transports.c:zend_arena_checkpoint Unexecuted instantiation: xp_socket.c:zend_arena_checkpoint Unexecuted instantiation: mmap.c:zend_arena_checkpoint Unexecuted instantiation: glob_wrapper.c:zend_arena_checkpoint Unexecuted instantiation: zend_language_parser.c:zend_arena_checkpoint Unexecuted instantiation: zend_language_scanner.c:zend_arena_checkpoint Unexecuted instantiation: zend_ini_parser.c:zend_arena_checkpoint Unexecuted instantiation: zend_ini_scanner.c:zend_arena_checkpoint Unexecuted instantiation: zend_alloc.c:zend_arena_checkpoint Unexecuted instantiation: zend_compile.c:zend_arena_checkpoint Unexecuted instantiation: zend_constants.c:zend_arena_checkpoint Unexecuted instantiation: zend_dtrace.c:zend_arena_checkpoint Unexecuted instantiation: zend_execute_API.c:zend_arena_checkpoint Unexecuted instantiation: zend_highlight.c:zend_arena_checkpoint Unexecuted instantiation: zend_opcode.c:zend_arena_checkpoint Unexecuted instantiation: zend_operators.c:zend_arena_checkpoint Unexecuted instantiation: zend_variables.c:zend_arena_checkpoint Unexecuted instantiation: zend.c:zend_arena_checkpoint Unexecuted instantiation: zend_API.c:zend_arena_checkpoint Unexecuted instantiation: zend_extensions.c:zend_arena_checkpoint Unexecuted instantiation: zend_hash.c:zend_arena_checkpoint Unexecuted instantiation: zend_list.c:zend_arena_checkpoint Unexecuted instantiation: zend_builtin_functions.c:zend_arena_checkpoint Unexecuted instantiation: zend_attributes.c:zend_arena_checkpoint Unexecuted instantiation: zend_execute.c:zend_arena_checkpoint Unexecuted instantiation: zend_ini.c:zend_arena_checkpoint Unexecuted instantiation: zend_multibyte.c:zend_arena_checkpoint Unexecuted instantiation: zend_stream.c:zend_arena_checkpoint Unexecuted instantiation: zend_iterators.c:zend_arena_checkpoint Unexecuted instantiation: zend_interfaces.c:zend_arena_checkpoint Unexecuted instantiation: zend_exceptions.c:zend_arena_checkpoint Unexecuted instantiation: zend_gc.c:zend_arena_checkpoint Unexecuted instantiation: zend_closures.c:zend_arena_checkpoint Unexecuted instantiation: zend_weakrefs.c:zend_arena_checkpoint Unexecuted instantiation: zend_float.c:zend_arena_checkpoint Unexecuted instantiation: zend_string.c:zend_arena_checkpoint Unexecuted instantiation: zend_signal.c:zend_arena_checkpoint Unexecuted instantiation: zend_generators.c:zend_arena_checkpoint Unexecuted instantiation: zend_ast.c:zend_arena_checkpoint Unexecuted instantiation: zend_objects.c:zend_arena_checkpoint Unexecuted instantiation: zend_object_handlers.c:zend_arena_checkpoint Unexecuted instantiation: zend_objects_API.c:zend_arena_checkpoint Unexecuted instantiation: zend_default_classes.c:zend_arena_checkpoint Unexecuted instantiation: zend_inheritance.c:zend_arena_checkpoint Unexecuted instantiation: zend_smart_str.c:zend_arena_checkpoint Unexecuted instantiation: internal_functions_cli.c:zend_arena_checkpoint Unexecuted instantiation: fuzzer-parser.c:zend_arena_checkpoint Unexecuted instantiation: fuzzer-sapi.c:zend_arena_checkpoint |
98 | | |
99 | | static zend_always_inline void zend_arena_release(zend_arena **arena_ptr, void *checkpoint) |
100 | 0 | { |
101 | 0 | zend_arena *arena = *arena_ptr; |
102 | 0 |
|
103 | 0 | while (UNEXPECTED((char*)checkpoint > arena->end) || |
104 | 0 | UNEXPECTED((char*)checkpoint <= (char*)arena)) { |
105 | 0 | zend_arena *prev = arena->prev; |
106 | 0 | efree(arena); |
107 | 0 | *arena_ptr = arena = prev; |
108 | 0 | } |
109 | 0 | ZEND_ASSERT((char*)checkpoint > (char*)arena && (char*)checkpoint <= arena->end); |
110 | 0 | arena->ptr = (char*)checkpoint; |
111 | 0 | } Unexecuted instantiation: php_date.c:zend_arena_release Unexecuted instantiation: php_pcre.c:zend_arena_release Unexecuted instantiation: exif.c:zend_arena_release Unexecuted instantiation: hash.c:zend_arena_release Unexecuted instantiation: hash_md.c:zend_arena_release Unexecuted instantiation: hash_sha.c:zend_arena_release Unexecuted instantiation: hash_ripemd.c:zend_arena_release Unexecuted instantiation: hash_haval.c:zend_arena_release Unexecuted instantiation: hash_tiger.c:zend_arena_release Unexecuted instantiation: hash_gost.c:zend_arena_release Unexecuted instantiation: hash_snefru.c:zend_arena_release Unexecuted instantiation: hash_whirlpool.c:zend_arena_release Unexecuted instantiation: hash_adler32.c:zend_arena_release Unexecuted instantiation: hash_crc32.c:zend_arena_release Unexecuted instantiation: hash_fnv.c:zend_arena_release Unexecuted instantiation: hash_joaat.c:zend_arena_release Unexecuted instantiation: hash_sha3.c:zend_arena_release Unexecuted instantiation: json.c:zend_arena_release Unexecuted instantiation: json_encoder.c:zend_arena_release Unexecuted instantiation: json_parser.tab.c:zend_arena_release Unexecuted instantiation: json_scanner.c:zend_arena_release Unexecuted instantiation: mbstring.c:zend_arena_release Unexecuted instantiation: php_unicode.c:zend_arena_release Unexecuted instantiation: mb_gpc.c:zend_arena_release Unexecuted instantiation: php_mbregex.c:zend_arena_release Unexecuted instantiation: php_reflection.c:zend_arena_release Unexecuted instantiation: php_spl.c:zend_arena_release Unexecuted instantiation: spl_functions.c:zend_arena_release Unexecuted instantiation: spl_engine.c:zend_arena_release Unexecuted instantiation: spl_iterators.c:zend_arena_release Unexecuted instantiation: spl_array.c:zend_arena_release Unexecuted instantiation: spl_directory.c:zend_arena_release Unexecuted instantiation: spl_exceptions.c:zend_arena_release Unexecuted instantiation: spl_observer.c:zend_arena_release Unexecuted instantiation: spl_dllist.c:zend_arena_release Unexecuted instantiation: spl_heap.c:zend_arena_release Unexecuted instantiation: spl_fixedarray.c:zend_arena_release Unexecuted instantiation: crypt_sha512.c:zend_arena_release Unexecuted instantiation: crypt_sha256.c:zend_arena_release Unexecuted instantiation: php_crypt_r.c:zend_arena_release Unexecuted instantiation: array.c:zend_arena_release Unexecuted instantiation: base64.c:zend_arena_release Unexecuted instantiation: basic_functions.c:zend_arena_release Unexecuted instantiation: browscap.c:zend_arena_release Unexecuted instantiation: crc32.c:zend_arena_release Unexecuted instantiation: crypt.c:zend_arena_release Unexecuted instantiation: datetime.c:zend_arena_release Unexecuted instantiation: dir.c:zend_arena_release Unexecuted instantiation: dl.c:zend_arena_release Unexecuted instantiation: dns.c:zend_arena_release Unexecuted instantiation: exec.c:zend_arena_release Unexecuted instantiation: file.c:zend_arena_release Unexecuted instantiation: filestat.c:zend_arena_release Unexecuted instantiation: flock_compat.c:zend_arena_release Unexecuted instantiation: formatted_print.c:zend_arena_release Unexecuted instantiation: fsock.c:zend_arena_release Unexecuted instantiation: head.c:zend_arena_release Unexecuted instantiation: html.c:zend_arena_release Unexecuted instantiation: image.c:zend_arena_release Unexecuted instantiation: info.c:zend_arena_release Unexecuted instantiation: iptc.c:zend_arena_release Unexecuted instantiation: lcg.c:zend_arena_release Unexecuted instantiation: link.c:zend_arena_release Unexecuted instantiation: mail.c:zend_arena_release Unexecuted instantiation: math.c:zend_arena_release Unexecuted instantiation: md5.c:zend_arena_release Unexecuted instantiation: metaphone.c:zend_arena_release Unexecuted instantiation: microtime.c:zend_arena_release Unexecuted instantiation: pack.c:zend_arena_release Unexecuted instantiation: pageinfo.c:zend_arena_release Unexecuted instantiation: quot_print.c:zend_arena_release Unexecuted instantiation: rand.c:zend_arena_release Unexecuted instantiation: mt_rand.c:zend_arena_release Unexecuted instantiation: soundex.c:zend_arena_release Unexecuted instantiation: string.c:zend_arena_release Unexecuted instantiation: scanf.c:zend_arena_release Unexecuted instantiation: syslog.c:zend_arena_release Unexecuted instantiation: type.c:zend_arena_release Unexecuted instantiation: uniqid.c:zend_arena_release Unexecuted instantiation: url.c:zend_arena_release Unexecuted instantiation: var.c:zend_arena_release Unexecuted instantiation: versioning.c:zend_arena_release Unexecuted instantiation: assert.c:zend_arena_release Unexecuted instantiation: strnatcmp.c:zend_arena_release Unexecuted instantiation: levenshtein.c:zend_arena_release Unexecuted instantiation: incomplete_class.c:zend_arena_release Unexecuted instantiation: url_scanner_ex.c:zend_arena_release Unexecuted instantiation: ftp_fopen_wrapper.c:zend_arena_release Unexecuted instantiation: http_fopen_wrapper.c:zend_arena_release Unexecuted instantiation: php_fopen_wrapper.c:zend_arena_release Unexecuted instantiation: credits.c:zend_arena_release Unexecuted instantiation: css.c:zend_arena_release Unexecuted instantiation: var_unserializer.c:zend_arena_release Unexecuted instantiation: ftok.c:zend_arena_release Unexecuted instantiation: sha1.c:zend_arena_release Unexecuted instantiation: user_filters.c:zend_arena_release Unexecuted instantiation: uuencode.c:zend_arena_release Unexecuted instantiation: filters.c:zend_arena_release Unexecuted instantiation: proc_open.c:zend_arena_release Unexecuted instantiation: streamsfuncs.c:zend_arena_release Unexecuted instantiation: http.c:zend_arena_release Unexecuted instantiation: password.c:zend_arena_release Unexecuted instantiation: random.c:zend_arena_release Unexecuted instantiation: net.c:zend_arena_release Unexecuted instantiation: hrtime.c:zend_arena_release Unexecuted instantiation: main.c:zend_arena_release Unexecuted instantiation: snprintf.c:zend_arena_release Unexecuted instantiation: spprintf.c:zend_arena_release Unexecuted instantiation: fopen_wrappers.c:zend_arena_release Unexecuted instantiation: php_scandir.c:zend_arena_release Unexecuted instantiation: php_ini.c:zend_arena_release Unexecuted instantiation: SAPI.c:zend_arena_release Unexecuted instantiation: rfc1867.c:zend_arena_release Unexecuted instantiation: php_content_types.c:zend_arena_release Unexecuted instantiation: strlcpy.c:zend_arena_release Unexecuted instantiation: strlcat.c:zend_arena_release Unexecuted instantiation: explicit_bzero.c:zend_arena_release Unexecuted instantiation: reentrancy.c:zend_arena_release Unexecuted instantiation: php_variables.c:zend_arena_release Unexecuted instantiation: php_ticks.c:zend_arena_release Unexecuted instantiation: network.c:zend_arena_release Unexecuted instantiation: php_open_temporary_file.c:zend_arena_release Unexecuted instantiation: output.c:zend_arena_release Unexecuted instantiation: getopt.c:zend_arena_release Unexecuted instantiation: php_syslog.c:zend_arena_release Unexecuted instantiation: streams.c:zend_arena_release Unexecuted instantiation: cast.c:zend_arena_release Unexecuted instantiation: memory.c:zend_arena_release Unexecuted instantiation: filter.c:zend_arena_release Unexecuted instantiation: plain_wrapper.c:zend_arena_release Unexecuted instantiation: userspace.c:zend_arena_release Unexecuted instantiation: transports.c:zend_arena_release Unexecuted instantiation: xp_socket.c:zend_arena_release Unexecuted instantiation: mmap.c:zend_arena_release Unexecuted instantiation: glob_wrapper.c:zend_arena_release Unexecuted instantiation: zend_language_parser.c:zend_arena_release Unexecuted instantiation: zend_language_scanner.c:zend_arena_release Unexecuted instantiation: zend_ini_parser.c:zend_arena_release Unexecuted instantiation: zend_ini_scanner.c:zend_arena_release Unexecuted instantiation: zend_alloc.c:zend_arena_release Unexecuted instantiation: zend_compile.c:zend_arena_release Unexecuted instantiation: zend_constants.c:zend_arena_release Unexecuted instantiation: zend_dtrace.c:zend_arena_release Unexecuted instantiation: zend_execute_API.c:zend_arena_release Unexecuted instantiation: zend_highlight.c:zend_arena_release Unexecuted instantiation: zend_opcode.c:zend_arena_release Unexecuted instantiation: zend_operators.c:zend_arena_release Unexecuted instantiation: zend_variables.c:zend_arena_release Unexecuted instantiation: zend.c:zend_arena_release Unexecuted instantiation: zend_API.c:zend_arena_release Unexecuted instantiation: zend_extensions.c:zend_arena_release Unexecuted instantiation: zend_hash.c:zend_arena_release Unexecuted instantiation: zend_list.c:zend_arena_release Unexecuted instantiation: zend_builtin_functions.c:zend_arena_release Unexecuted instantiation: zend_attributes.c:zend_arena_release Unexecuted instantiation: zend_execute.c:zend_arena_release Unexecuted instantiation: zend_ini.c:zend_arena_release Unexecuted instantiation: zend_multibyte.c:zend_arena_release Unexecuted instantiation: zend_stream.c:zend_arena_release Unexecuted instantiation: zend_iterators.c:zend_arena_release Unexecuted instantiation: zend_interfaces.c:zend_arena_release Unexecuted instantiation: zend_exceptions.c:zend_arena_release Unexecuted instantiation: zend_gc.c:zend_arena_release Unexecuted instantiation: zend_closures.c:zend_arena_release Unexecuted instantiation: zend_weakrefs.c:zend_arena_release Unexecuted instantiation: zend_float.c:zend_arena_release Unexecuted instantiation: zend_string.c:zend_arena_release Unexecuted instantiation: zend_signal.c:zend_arena_release Unexecuted instantiation: zend_generators.c:zend_arena_release Unexecuted instantiation: zend_ast.c:zend_arena_release Unexecuted instantiation: zend_objects.c:zend_arena_release Unexecuted instantiation: zend_object_handlers.c:zend_arena_release Unexecuted instantiation: zend_objects_API.c:zend_arena_release Unexecuted instantiation: zend_default_classes.c:zend_arena_release Unexecuted instantiation: zend_inheritance.c:zend_arena_release Unexecuted instantiation: zend_smart_str.c:zend_arena_release Unexecuted instantiation: internal_functions_cli.c:zend_arena_release Unexecuted instantiation: fuzzer-parser.c:zend_arena_release Unexecuted instantiation: fuzzer-sapi.c:zend_arena_release |
112 | | |
113 | | static zend_always_inline zend_bool zend_arena_contains(zend_arena *arena, void *ptr) |
114 | 0 | { |
115 | 0 | while (arena) { |
116 | 0 | if ((char*)ptr > (char*)arena && (char*)ptr <= arena->ptr) { |
117 | 0 | return 1; |
118 | 0 | } |
119 | 0 | arena = arena->prev; |
120 | 0 | } |
121 | 0 | return 0; |
122 | 0 | } Unexecuted instantiation: php_date.c:zend_arena_contains Unexecuted instantiation: php_pcre.c:zend_arena_contains Unexecuted instantiation: exif.c:zend_arena_contains Unexecuted instantiation: hash.c:zend_arena_contains Unexecuted instantiation: hash_md.c:zend_arena_contains Unexecuted instantiation: hash_sha.c:zend_arena_contains Unexecuted instantiation: hash_ripemd.c:zend_arena_contains Unexecuted instantiation: hash_haval.c:zend_arena_contains Unexecuted instantiation: hash_tiger.c:zend_arena_contains Unexecuted instantiation: hash_gost.c:zend_arena_contains Unexecuted instantiation: hash_snefru.c:zend_arena_contains Unexecuted instantiation: hash_whirlpool.c:zend_arena_contains Unexecuted instantiation: hash_adler32.c:zend_arena_contains Unexecuted instantiation: hash_crc32.c:zend_arena_contains Unexecuted instantiation: hash_fnv.c:zend_arena_contains Unexecuted instantiation: hash_joaat.c:zend_arena_contains Unexecuted instantiation: hash_sha3.c:zend_arena_contains Unexecuted instantiation: json.c:zend_arena_contains Unexecuted instantiation: json_encoder.c:zend_arena_contains Unexecuted instantiation: json_parser.tab.c:zend_arena_contains Unexecuted instantiation: json_scanner.c:zend_arena_contains Unexecuted instantiation: mbstring.c:zend_arena_contains Unexecuted instantiation: php_unicode.c:zend_arena_contains Unexecuted instantiation: mb_gpc.c:zend_arena_contains Unexecuted instantiation: php_mbregex.c:zend_arena_contains Unexecuted instantiation: php_reflection.c:zend_arena_contains Unexecuted instantiation: php_spl.c:zend_arena_contains Unexecuted instantiation: spl_functions.c:zend_arena_contains Unexecuted instantiation: spl_engine.c:zend_arena_contains Unexecuted instantiation: spl_iterators.c:zend_arena_contains Unexecuted instantiation: spl_array.c:zend_arena_contains Unexecuted instantiation: spl_directory.c:zend_arena_contains Unexecuted instantiation: spl_exceptions.c:zend_arena_contains Unexecuted instantiation: spl_observer.c:zend_arena_contains Unexecuted instantiation: spl_dllist.c:zend_arena_contains Unexecuted instantiation: spl_heap.c:zend_arena_contains Unexecuted instantiation: spl_fixedarray.c:zend_arena_contains Unexecuted instantiation: crypt_sha512.c:zend_arena_contains Unexecuted instantiation: crypt_sha256.c:zend_arena_contains Unexecuted instantiation: php_crypt_r.c:zend_arena_contains Unexecuted instantiation: array.c:zend_arena_contains Unexecuted instantiation: base64.c:zend_arena_contains Unexecuted instantiation: basic_functions.c:zend_arena_contains Unexecuted instantiation: browscap.c:zend_arena_contains Unexecuted instantiation: crc32.c:zend_arena_contains Unexecuted instantiation: crypt.c:zend_arena_contains Unexecuted instantiation: datetime.c:zend_arena_contains Unexecuted instantiation: dir.c:zend_arena_contains Unexecuted instantiation: dl.c:zend_arena_contains Unexecuted instantiation: dns.c:zend_arena_contains Unexecuted instantiation: exec.c:zend_arena_contains Unexecuted instantiation: file.c:zend_arena_contains Unexecuted instantiation: filestat.c:zend_arena_contains Unexecuted instantiation: flock_compat.c:zend_arena_contains Unexecuted instantiation: formatted_print.c:zend_arena_contains Unexecuted instantiation: fsock.c:zend_arena_contains Unexecuted instantiation: head.c:zend_arena_contains Unexecuted instantiation: html.c:zend_arena_contains Unexecuted instantiation: image.c:zend_arena_contains Unexecuted instantiation: info.c:zend_arena_contains Unexecuted instantiation: iptc.c:zend_arena_contains Unexecuted instantiation: lcg.c:zend_arena_contains Unexecuted instantiation: link.c:zend_arena_contains Unexecuted instantiation: mail.c:zend_arena_contains Unexecuted instantiation: math.c:zend_arena_contains Unexecuted instantiation: md5.c:zend_arena_contains Unexecuted instantiation: metaphone.c:zend_arena_contains Unexecuted instantiation: microtime.c:zend_arena_contains Unexecuted instantiation: pack.c:zend_arena_contains Unexecuted instantiation: pageinfo.c:zend_arena_contains Unexecuted instantiation: quot_print.c:zend_arena_contains Unexecuted instantiation: rand.c:zend_arena_contains Unexecuted instantiation: mt_rand.c:zend_arena_contains Unexecuted instantiation: soundex.c:zend_arena_contains Unexecuted instantiation: string.c:zend_arena_contains Unexecuted instantiation: scanf.c:zend_arena_contains Unexecuted instantiation: syslog.c:zend_arena_contains Unexecuted instantiation: type.c:zend_arena_contains Unexecuted instantiation: uniqid.c:zend_arena_contains Unexecuted instantiation: url.c:zend_arena_contains Unexecuted instantiation: var.c:zend_arena_contains Unexecuted instantiation: versioning.c:zend_arena_contains Unexecuted instantiation: assert.c:zend_arena_contains Unexecuted instantiation: strnatcmp.c:zend_arena_contains Unexecuted instantiation: levenshtein.c:zend_arena_contains Unexecuted instantiation: incomplete_class.c:zend_arena_contains Unexecuted instantiation: url_scanner_ex.c:zend_arena_contains Unexecuted instantiation: ftp_fopen_wrapper.c:zend_arena_contains Unexecuted instantiation: http_fopen_wrapper.c:zend_arena_contains Unexecuted instantiation: php_fopen_wrapper.c:zend_arena_contains Unexecuted instantiation: credits.c:zend_arena_contains Unexecuted instantiation: css.c:zend_arena_contains Unexecuted instantiation: var_unserializer.c:zend_arena_contains Unexecuted instantiation: ftok.c:zend_arena_contains Unexecuted instantiation: sha1.c:zend_arena_contains Unexecuted instantiation: user_filters.c:zend_arena_contains Unexecuted instantiation: uuencode.c:zend_arena_contains Unexecuted instantiation: filters.c:zend_arena_contains Unexecuted instantiation: proc_open.c:zend_arena_contains Unexecuted instantiation: streamsfuncs.c:zend_arena_contains Unexecuted instantiation: http.c:zend_arena_contains Unexecuted instantiation: password.c:zend_arena_contains Unexecuted instantiation: random.c:zend_arena_contains Unexecuted instantiation: net.c:zend_arena_contains Unexecuted instantiation: hrtime.c:zend_arena_contains Unexecuted instantiation: main.c:zend_arena_contains Unexecuted instantiation: snprintf.c:zend_arena_contains Unexecuted instantiation: spprintf.c:zend_arena_contains Unexecuted instantiation: fopen_wrappers.c:zend_arena_contains Unexecuted instantiation: php_scandir.c:zend_arena_contains Unexecuted instantiation: php_ini.c:zend_arena_contains Unexecuted instantiation: SAPI.c:zend_arena_contains Unexecuted instantiation: rfc1867.c:zend_arena_contains Unexecuted instantiation: php_content_types.c:zend_arena_contains Unexecuted instantiation: strlcpy.c:zend_arena_contains Unexecuted instantiation: strlcat.c:zend_arena_contains Unexecuted instantiation: explicit_bzero.c:zend_arena_contains Unexecuted instantiation: reentrancy.c:zend_arena_contains Unexecuted instantiation: php_variables.c:zend_arena_contains Unexecuted instantiation: php_ticks.c:zend_arena_contains Unexecuted instantiation: network.c:zend_arena_contains Unexecuted instantiation: php_open_temporary_file.c:zend_arena_contains Unexecuted instantiation: output.c:zend_arena_contains Unexecuted instantiation: getopt.c:zend_arena_contains Unexecuted instantiation: php_syslog.c:zend_arena_contains Unexecuted instantiation: streams.c:zend_arena_contains Unexecuted instantiation: cast.c:zend_arena_contains Unexecuted instantiation: memory.c:zend_arena_contains Unexecuted instantiation: filter.c:zend_arena_contains Unexecuted instantiation: plain_wrapper.c:zend_arena_contains Unexecuted instantiation: userspace.c:zend_arena_contains Unexecuted instantiation: transports.c:zend_arena_contains Unexecuted instantiation: xp_socket.c:zend_arena_contains Unexecuted instantiation: mmap.c:zend_arena_contains Unexecuted instantiation: glob_wrapper.c:zend_arena_contains Unexecuted instantiation: zend_language_parser.c:zend_arena_contains Unexecuted instantiation: zend_language_scanner.c:zend_arena_contains Unexecuted instantiation: zend_ini_parser.c:zend_arena_contains Unexecuted instantiation: zend_ini_scanner.c:zend_arena_contains Unexecuted instantiation: zend_alloc.c:zend_arena_contains Unexecuted instantiation: zend_compile.c:zend_arena_contains Unexecuted instantiation: zend_constants.c:zend_arena_contains Unexecuted instantiation: zend_dtrace.c:zend_arena_contains Unexecuted instantiation: zend_execute_API.c:zend_arena_contains Unexecuted instantiation: zend_highlight.c:zend_arena_contains Unexecuted instantiation: zend_opcode.c:zend_arena_contains Unexecuted instantiation: zend_operators.c:zend_arena_contains Unexecuted instantiation: zend_variables.c:zend_arena_contains Unexecuted instantiation: zend.c:zend_arena_contains Unexecuted instantiation: zend_API.c:zend_arena_contains Unexecuted instantiation: zend_extensions.c:zend_arena_contains Unexecuted instantiation: zend_hash.c:zend_arena_contains Unexecuted instantiation: zend_list.c:zend_arena_contains Unexecuted instantiation: zend_builtin_functions.c:zend_arena_contains Unexecuted instantiation: zend_attributes.c:zend_arena_contains Unexecuted instantiation: zend_execute.c:zend_arena_contains Unexecuted instantiation: zend_ini.c:zend_arena_contains Unexecuted instantiation: zend_multibyte.c:zend_arena_contains Unexecuted instantiation: zend_stream.c:zend_arena_contains Unexecuted instantiation: zend_iterators.c:zend_arena_contains Unexecuted instantiation: zend_interfaces.c:zend_arena_contains Unexecuted instantiation: zend_exceptions.c:zend_arena_contains Unexecuted instantiation: zend_gc.c:zend_arena_contains Unexecuted instantiation: zend_closures.c:zend_arena_contains Unexecuted instantiation: zend_weakrefs.c:zend_arena_contains Unexecuted instantiation: zend_float.c:zend_arena_contains Unexecuted instantiation: zend_string.c:zend_arena_contains Unexecuted instantiation: zend_signal.c:zend_arena_contains Unexecuted instantiation: zend_generators.c:zend_arena_contains Unexecuted instantiation: zend_ast.c:zend_arena_contains Unexecuted instantiation: zend_objects.c:zend_arena_contains Unexecuted instantiation: zend_object_handlers.c:zend_arena_contains Unexecuted instantiation: zend_objects_API.c:zend_arena_contains Unexecuted instantiation: zend_default_classes.c:zend_arena_contains Unexecuted instantiation: zend_inheritance.c:zend_arena_contains Unexecuted instantiation: zend_smart_str.c:zend_arena_contains Unexecuted instantiation: internal_functions_cli.c:zend_arena_contains Unexecuted instantiation: fuzzer-parser.c:zend_arena_contains Unexecuted instantiation: fuzzer-sapi.c:zend_arena_contains |
123 | | |
124 | | #else |
125 | | |
126 | | /* Use normal allocations and keep track of them for mass-freeing. |
127 | | * This is intended for use with asan/valgrind. */ |
128 | | |
129 | | typedef struct _zend_arena zend_arena; |
130 | | |
131 | | struct _zend_arena { |
132 | | void **ptr; |
133 | | void **end; |
134 | | struct _zend_arena *prev; |
135 | | void *ptrs[0]; |
136 | | }; |
137 | | |
138 | | #define ZEND_TRACKED_ARENA_SIZE 1000 |
139 | | |
140 | | static zend_always_inline zend_arena *zend_arena_create(size_t _size) |
141 | | { |
142 | | zend_arena *arena = (zend_arena*) emalloc( |
143 | | sizeof(zend_arena) + sizeof(void *) * ZEND_TRACKED_ARENA_SIZE); |
144 | | arena->ptr = &arena->ptrs[0]; |
145 | | arena->end = &arena->ptrs[ZEND_TRACKED_ARENA_SIZE]; |
146 | | arena->prev = NULL; |
147 | | return arena; |
148 | | } |
149 | | |
150 | | static zend_always_inline void zend_arena_destroy(zend_arena *arena) |
151 | | { |
152 | | do { |
153 | | zend_arena *prev = arena->prev; |
154 | | void **ptr; |
155 | | for (ptr = arena->ptrs; ptr < arena->ptr; ptr++) { |
156 | | efree(*ptr); |
157 | | } |
158 | | efree(arena); |
159 | | arena = prev; |
160 | | } while (arena); |
161 | | } |
162 | | |
163 | | static zend_always_inline void *zend_arena_alloc(zend_arena **arena_ptr, size_t size) |
164 | | { |
165 | | zend_arena *arena = *arena_ptr; |
166 | | if (arena->ptr == arena->end) { |
167 | | *arena_ptr = zend_arena_create(0); |
168 | | (*arena_ptr)->prev = arena; |
169 | | arena = *arena_ptr; |
170 | | } |
171 | | |
172 | | return *arena->ptr++ = emalloc(size); |
173 | | } |
174 | | |
175 | | static zend_always_inline void* zend_arena_calloc(zend_arena **arena_ptr, size_t count, size_t unit_size) |
176 | | { |
177 | | int overflow; |
178 | | size_t size; |
179 | | void *ret; |
180 | | |
181 | | size = zend_safe_address(unit_size, count, 0, &overflow); |
182 | | if (UNEXPECTED(overflow)) { |
183 | | zend_error(E_ERROR, "Possible integer overflow in zend_arena_calloc() (%zu * %zu)", unit_size, count); |
184 | | } |
185 | | ret = zend_arena_alloc(arena_ptr, size); |
186 | | memset(ret, 0, size); |
187 | | return ret; |
188 | | } |
189 | | |
190 | | static zend_always_inline void* zend_arena_checkpoint(zend_arena *arena) |
191 | | { |
192 | | return arena->ptr; |
193 | | } |
194 | | |
195 | | static zend_always_inline void zend_arena_release(zend_arena **arena_ptr, void *checkpoint) |
196 | | { |
197 | | while (1) { |
198 | | zend_arena *arena = *arena_ptr; |
199 | | zend_arena *prev = arena->prev; |
200 | | while (1) { |
201 | | if (arena->ptr == (void **) checkpoint) { |
202 | | return; |
203 | | } |
204 | | if (arena->ptr == arena->ptrs) { |
205 | | break; |
206 | | } |
207 | | arena->ptr--; |
208 | | efree(*arena->ptr); |
209 | | } |
210 | | efree(arena); |
211 | | *arena_ptr = prev; |
212 | | ZEND_ASSERT(*arena_ptr); |
213 | | } |
214 | | } |
215 | | |
216 | | static zend_always_inline zend_bool zend_arena_contains(zend_arena *arena, void *ptr) |
217 | | { |
218 | | /* TODO: Dummy */ |
219 | | return 1; |
220 | | } |
221 | | |
222 | | #endif |
223 | | |
224 | | #endif /* _ZEND_ARENA_H_ */ |