Coverage Report

Created: 2023-12-08 06:48

/src/clamav/libclamav/fmap.h
Line
Count
Source (jump to first uncovered line)
1
/*
2
 *  Copyright (C) 2013-2023 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
3
 *  Copyright (C) 2009-2013 Sourcefire, Inc.
4
 *
5
 *  Authors: aCaB <acab@clamav.net>
6
 *
7
 *  This program is free software; you can redistribute it and/or modify
8
 *  it under the terms of the GNU General Public License version 2 as
9
 *  published by the Free Software Foundation.
10
 *
11
 *  This program is distributed in the hope that it will be useful,
12
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 *  GNU General Public License for more details.
15
 *
16
 *  You should have received a copy of the GNU General Public License
17
 *  along with this program; if not, write to the Free Software
18
 *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 *  MA 02110-1301, USA.
20
 */
21
22
#ifndef __FMAP_H
23
#define __FMAP_H
24
25
#if HAVE_CONFIG_H
26
#include "clamav-config.h"
27
#endif
28
29
#ifdef HAVE_UNISTD_H
30
#include <unistd.h>
31
#endif
32
33
#include <limits.h>
34
#include <time.h>
35
#include <string.h>
36
#include <stdbool.h>
37
38
#include "clamav.h"
39
40
#include "matcher-hash-types.h"
41
42
struct cl_fmap;
43
typedef cl_fmap_t fmap_t;
44
45
struct cl_fmap {
46
    /* handle interface */
47
    void *handle;
48
    clcb_pread pread_cb;
49
50
    /* memory interface */
51
    const void *data;
52
53
    /* internal */
54
    time_t mtime;
55
    uint64_t pages;
56
    uint64_t pgsz;
57
    uint64_t paged;
58
    uint16_t aging;
59
    bool dont_cache_flag;  /** indicates if we should not cache scan results for this fmap. Used if limits exceeded */
60
    uint16_t handle_is_fd; /** non-zero if map->handle is an fd. */
61
    size_t offset;         /** file offset representing start of original fmap, if the fmap created reading from a file starting at offset other than 0 */
62
    size_t nested_offset;  /** offset from start of original fmap (data) for nested scan. 0 for orig fmap. */
63
    size_t real_len;       /** len from start of original fmap (data) to end of current (possibly nested) map. */
64
                           /* real_len == nested_offset + len.
65
                              real_len is needed for nested maps because we only reference the original mapping data.
66
                              We convert caller's fmap offsets & lengths to real data offsets using nested_offset & real_len. */
67
68
    /* external */
69
    size_t len; /** length of data from nested_offset, accessible via current fmap */
70
71
    /* real_len = nested_offset + len
72
     * file_offset = offset + nested_offset + need_offset
73
     * maximum offset, length accessible via fmap API: len
74
     * offset in cached buffer: nested_offset + need_offset
75
     *
76
     * This allows scanning a portion of an already mapped file without dumping
77
     * to disk and remapping (for uncompressed archives for example) */
78
79
    /* vtable for implementation */
80
    void (*unmap)(fmap_t *);
81
    const void *(*need)(fmap_t *, size_t at, size_t len, int lock);
82
    const void *(*need_offstr)(fmap_t *, size_t at, size_t len_hint);
83
    const void *(*gets)(fmap_t *, char *dst, size_t *at, size_t max_len);
84
    void (*unneed_off)(fmap_t *, size_t at, size_t len);
85
#ifdef _WIN32
86
    HANDLE fh;
87
    HANDLE mh;
88
#endif
89
    bool have_md5;
90
    unsigned char md5[CLI_HASHLEN_MD5];
91
    bool have_sha1;
92
    unsigned char sha1[CLI_HASHLEN_SHA1];
93
    bool have_sha256;
94
    unsigned char sha256[CLI_HASHLEN_SHA256];
95
    uint64_t *bitmap;
96
    char *name;
97
};
98
99
/**
100
 * @brief Create a new fmap given a file descriptor.
101
 *
102
 * @param fd        File descriptor of file to be mapped.
103
 * @param offset    Offset into file for start of map.
104
 * @param len       Length from offset for size of map.
105
 * @param name      (optional) Original name of the file (to set fmap name metadata)
106
 * @return fmap_t*  The newly created fmap.  Free it with `funmap()`
107
 */
108
fmap_t *fmap(int fd, off_t offset, size_t len, const char *name);
109
110
/**
111
 * @brief Create  new fmap given a file descriptor.
112
 *
113
 * This variant of fmap() provides a boolean output variable to indicate on
114
 * failure if the failure was because the file is empty (not really a failure).
115
 *
116
 * @param fd            File descriptor of file to be mapped.
117
 * @param offset        Offset into file for start of map.
118
 * @param len           Length from offset for size of map.
119
 * @param[out] empty    Boolean will be non-zero if the file couldn't be mapped because it is empty.
120
 * @param name          (optional) Original name of the file (to set fmap name metadata)
121
 * @return fmap_t*      The newly created fmap.  Free it with `funmap()`
122
 */
123
fmap_t *fmap_check_empty(int fd, off_t offset, size_t len, int *empty, const char *name);
124
125
/**
126
 * @brief Create a new fmap given a buffer.
127
 *
128
 * @param start     Start of a buffer that the fmap will reference.
129
 * @param len       Length of the buffer.
130
 * @param name      (optional) Original name of the file (to set fmap name metadata)
131
 * @return fmap_t*
132
 */
133
fmap_t *fmap_open_memory(const void *start, size_t len, const char *name);
134
135
/**
136
 * @brief Create a new fmap view into another fmap.
137
 *
138
 * @param map       The parent fmap.
139
 * @param offset    Offset for the start of the new fmap into the parent fmap.
140
 * @param length    Length of the data from the offset for the new fmap.
141
 * @param name      (optional) Original name of the file (to set fmap name metadata)
142
 * @return fmap_t*  NULL if failure or a special fmap that the caller must free with free_duplicate_fmap()
143
 */
144
fmap_t *fmap_duplicate(cl_fmap_t *map, size_t offset, size_t length, const char *name);
145
146
/**
147
 * @brief Deallocate a _duplicated_ fmap.  Does not unmap the mapped region.
148
 *
149
 * This function should be used instead of `free()` to cleanup the optional fmap name.
150
 *
151
 * @param m The map to be free'd.
152
 */
153
void free_duplicate_fmap(cl_fmap_t *map);
154
155
/**
156
 * @brief Unmap/deallocate an fmap.
157
 *
158
 * @param m The map to be free'd.
159
 */
160
static inline void funmap(fmap_t *m)
161
1.05M
{
162
1.05M
    m->unmap(m);
163
1.05M
}
Unexecuted instantiation: others_common.c:funmap
Unexecuted instantiation: qsort.c:funmap
Unexecuted instantiation: str.c:funmap
Unexecuted instantiation: cache.c:funmap
Unexecuted instantiation: crtmgr.c:funmap
Unexecuted instantiation: crypto.c:funmap
Unexecuted instantiation: filetypes.c:funmap
fmap.c:funmap
Line
Count
Source
161
47.5k
{
162
47.5k
    m->unmap(m);
163
47.5k
}
Unexecuted instantiation: others.c:funmap
Unexecuted instantiation: textdet.c:funmap
Unexecuted instantiation: htmlnorm.c:funmap
Unexecuted instantiation: js-norm.c:funmap
Unexecuted instantiation: textnorm.c:funmap
Unexecuted instantiation: special.c:funmap
Unexecuted instantiation: stats.c:funmap
Unexecuted instantiation: bytecode.c:funmap
Unexecuted instantiation: events.c:funmap
Unexecuted instantiation: 7z_iface.c:funmap
Unexecuted instantiation: lzma_iface.c:funmap
Unexecuted instantiation: xz_iface.c:funmap
Unexecuted instantiation: entconv.c:funmap
Unexecuted instantiation: dlp.c:funmap
Unexecuted instantiation: autoit.c:funmap
Unexecuted instantiation: binhex.c:funmap
Unexecuted instantiation: cpio.c:funmap
Unexecuted instantiation: ishield.c:funmap
Unexecuted instantiation: libmspack.c:funmap
Unexecuted instantiation: msexpand.c:funmap
Unexecuted instantiation: nulsft.c:funmap
hwp.c:funmap
Line
Count
Source
161
1.71k
{
162
1.71k
    m->unmap(m);
163
1.71k
}
msdoc.c:funmap
Line
Count
Source
161
8.31k
{
162
8.31k
    m->unmap(m);
163
8.31k
}
Unexecuted instantiation: msxml_parser.c:funmap
Unexecuted instantiation: msxml.c:funmap
ole2_extract.c:funmap
Line
Count
Source
161
53
{
162
53
    m->unmap(m);
163
53
}
Unexecuted instantiation: xlm_extract.c:funmap
Unexecuted instantiation: ooxml.c:funmap
Unexecuted instantiation: rtf.c:funmap
Unexecuted instantiation: vba_extract.c:funmap
Unexecuted instantiation: asn1.c:funmap
Unexecuted instantiation: elf.c:funmap
Unexecuted instantiation: macho.c:funmap
Unexecuted instantiation: pe.c:funmap
Unexecuted instantiation: aspack.c:funmap
Unexecuted instantiation: fsg.c:funmap
Unexecuted instantiation: mew.c:funmap
Unexecuted instantiation: packlibs.c:funmap
Unexecuted instantiation: petite.c:funmap
Unexecuted instantiation: spin.c:funmap
Unexecuted instantiation: unsp.c:funmap
Unexecuted instantiation: upack.c:funmap
Unexecuted instantiation: upx.c:funmap
Unexecuted instantiation: wwunpack.c:funmap
Unexecuted instantiation: yc.c:funmap
Unexecuted instantiation: mbox.c:funmap
Unexecuted instantiation: message.c:funmap
Unexecuted instantiation: phish_domaincheck_db.c:funmap
Unexecuted instantiation: phish_allow_list.c:funmap
Unexecuted instantiation: phishcheck.c:funmap
Unexecuted instantiation: regex_list.c:funmap
Unexecuted instantiation: regex_suffix.c:funmap
Unexecuted instantiation: sis.c:funmap
Unexecuted instantiation: tnef.c:funmap
Unexecuted instantiation: uuencode.c:funmap
Unexecuted instantiation: swf.c:funmap
pdf.c:funmap
Line
Count
Source
161
1.00M
{
162
1.00M
    m->unmap(m);
163
1.00M
}
Unexecuted instantiation: pdfng.c:funmap
Unexecuted instantiation: pdfdecode.c:funmap
Unexecuted instantiation: xdp.c:funmap
Unexecuted instantiation: unarj.c:funmap
Unexecuted instantiation: is_tar.c:funmap
Unexecuted instantiation: untar.c:funmap
Unexecuted instantiation: unzip.c:funmap
Unexecuted instantiation: dmg.c:funmap
Unexecuted instantiation: xar.c:funmap
Unexecuted instantiation: egg.c:funmap
Unexecuted instantiation: mbr.c:funmap
Unexecuted instantiation: gpt.c:funmap
Unexecuted instantiation: apm.c:funmap
Unexecuted instantiation: hfsplus.c:funmap
Unexecuted instantiation: iso9660.c:funmap
Unexecuted instantiation: openioc.c:funmap
Unexecuted instantiation: jpeg.c:funmap
Unexecuted instantiation: png.c:funmap
Unexecuted instantiation: tiff.c:funmap
Unexecuted instantiation: gif.c:funmap
Unexecuted instantiation: udf.c:funmap
Unexecuted instantiation: regcomp.c:funmap
Unexecuted instantiation: regexec.c:funmap
Unexecuted instantiation: 7zCrc.c:funmap
Unexecuted instantiation: 7zIn.c:funmap
Unexecuted instantiation: 7zStream.c:funmap
Unexecuted instantiation: LzmaDec.c:funmap
Unexecuted instantiation: XzCrc64.c:funmap
Unexecuted instantiation: XzDec.c:funmap
Unexecuted instantiation: yara_compiler.c:funmap
Unexecuted instantiation: yara_hash.c:funmap
Unexecuted instantiation: yara_arena.c:funmap
Unexecuted instantiation: yara_lexer.c:funmap
Unexecuted instantiation: bytecode_nojit.c:funmap
Unexecuted instantiation: blob.c:funmap
Unexecuted instantiation: fpu.c:funmap
Unexecuted instantiation: hashtab.c:funmap
Unexecuted instantiation: json_api.c:funmap
Unexecuted instantiation: table.c:funmap
Unexecuted instantiation: text.c:funmap
Unexecuted instantiation: uniq.c:funmap
Unexecuted instantiation: www.c:funmap
Unexecuted instantiation: filtering.c:funmap
Unexecuted instantiation: matcher-ac.c:funmap
Unexecuted instantiation: matcher-bm.c:funmap
Unexecuted instantiation: matcher-byte-comp.c:funmap
Unexecuted instantiation: matcher-hash.c:funmap
Unexecuted instantiation: matcher-pcre.c:funmap
Unexecuted instantiation: regex_pcre.c:funmap
Unexecuted instantiation: cvd.c:funmap
Unexecuted instantiation: dconf.c:funmap
Unexecuted instantiation: dsig.c:funmap
Unexecuted instantiation: partition_intersection.c:funmap
Unexecuted instantiation: hostid_internal.c:funmap
Unexecuted instantiation: stats_json.c:funmap
Unexecuted instantiation: bytecode_api_decl.c:funmap
Unexecuted instantiation: bytecode_api.c:funmap
Unexecuted instantiation: bytecode_detect.c:funmap
Unexecuted instantiation: bytecode_vm.c:funmap
Unexecuted instantiation: explode.c:funmap
Unexecuted instantiation: inflate64.c:funmap
Unexecuted instantiation: lzwdec.c:funmap
Unexecuted instantiation: bzlib.c:funmap
Unexecuted instantiation: pe_icons.c:funmap
Unexecuted instantiation: rebuildpe.c:funmap
Unexecuted instantiation: line.c:funmap
Unexecuted instantiation: adc.c:funmap
Unexecuted instantiation: 7zBuf.c:funmap
Unexecuted instantiation: 7zDec.c:funmap
Unexecuted instantiation: Bcj2.c:funmap
Unexecuted instantiation: Bra.c:funmap
Unexecuted instantiation: Bra86.c:funmap
Unexecuted instantiation: BraIA64.c:funmap
Unexecuted instantiation: Delta.c:funmap
Unexecuted instantiation: Lzma2Dec.c:funmap
Unexecuted instantiation: Ppmd7.c:funmap
Unexecuted instantiation: Ppmd7Dec.c:funmap
Unexecuted instantiation: Xz.c:funmap
Unexecuted instantiation: yara_exec.c:funmap
Unexecuted instantiation: yara_grammar.c:funmap
Unexecuted instantiation: disasm.c:funmap
Unexecuted instantiation: yara_parser.c:funmap
164
165
/**
166
 * @brief Get a pointer to the file data if the requested offset & len are within the fmap.
167
 *
168
 * For fmap's created from file descriptors, this will also page the requested file map pages.
169
 *
170
 * This will lock the pages containing the requested data.
171
 * You must call fmap_unneed_off() / fmap_unneed_ptr() when you're done accessing the data to
172
 * release the page locks.
173
 *
174
 * @param m     The fmap.
175
 * @param at    The map offset requested.
176
 * @param len   The data length requested.
177
 * @return const void* A pointer into to the fmap->data at the requested ofset. NULL if offset/len are not contained in the fmap.
178
 */
179
static inline const void *fmap_need_off(fmap_t *m, size_t at, size_t len)
180
4.43M
{
181
4.43M
    return m->need(m, at, len, 1);
182
4.43M
}
Unexecuted instantiation: others_common.c:fmap_need_off
Unexecuted instantiation: qsort.c:fmap_need_off
Unexecuted instantiation: str.c:fmap_need_off
Unexecuted instantiation: cache.c:fmap_need_off
Unexecuted instantiation: crtmgr.c:fmap_need_off
Unexecuted instantiation: crypto.c:fmap_need_off
Unexecuted instantiation: filetypes.c:fmap_need_off
Unexecuted instantiation: fmap.c:fmap_need_off
Unexecuted instantiation: others.c:fmap_need_off
Unexecuted instantiation: textdet.c:fmap_need_off
Unexecuted instantiation: htmlnorm.c:fmap_need_off
Unexecuted instantiation: js-norm.c:fmap_need_off
Unexecuted instantiation: textnorm.c:fmap_need_off
Unexecuted instantiation: special.c:fmap_need_off
Unexecuted instantiation: stats.c:fmap_need_off
Unexecuted instantiation: bytecode.c:fmap_need_off
Unexecuted instantiation: events.c:fmap_need_off
Unexecuted instantiation: 7z_iface.c:fmap_need_off
Unexecuted instantiation: lzma_iface.c:fmap_need_off
Unexecuted instantiation: xz_iface.c:fmap_need_off
Unexecuted instantiation: entconv.c:fmap_need_off
Unexecuted instantiation: dlp.c:fmap_need_off
Unexecuted instantiation: autoit.c:fmap_need_off
Unexecuted instantiation: binhex.c:fmap_need_off
Unexecuted instantiation: cpio.c:fmap_need_off
Unexecuted instantiation: ishield.c:fmap_need_off
Unexecuted instantiation: libmspack.c:fmap_need_off
Unexecuted instantiation: msexpand.c:fmap_need_off
Unexecuted instantiation: nulsft.c:fmap_need_off
Unexecuted instantiation: hwp.c:fmap_need_off
Unexecuted instantiation: msdoc.c:fmap_need_off
Unexecuted instantiation: msxml_parser.c:fmap_need_off
Unexecuted instantiation: msxml.c:fmap_need_off
Unexecuted instantiation: ole2_extract.c:fmap_need_off
Unexecuted instantiation: xlm_extract.c:fmap_need_off
Unexecuted instantiation: ooxml.c:fmap_need_off
Unexecuted instantiation: rtf.c:fmap_need_off
Unexecuted instantiation: vba_extract.c:fmap_need_off
Unexecuted instantiation: asn1.c:fmap_need_off
Unexecuted instantiation: elf.c:fmap_need_off
Unexecuted instantiation: macho.c:fmap_need_off
pe.c:fmap_need_off
Line
Count
Source
180
11.0k
{
181
11.0k
    return m->need(m, at, len, 1);
182
11.0k
}
Unexecuted instantiation: aspack.c:fmap_need_off
Unexecuted instantiation: fsg.c:fmap_need_off
Unexecuted instantiation: mew.c:fmap_need_off
Unexecuted instantiation: packlibs.c:fmap_need_off
Unexecuted instantiation: petite.c:fmap_need_off
Unexecuted instantiation: spin.c:fmap_need_off
Unexecuted instantiation: unsp.c:fmap_need_off
Unexecuted instantiation: upack.c:fmap_need_off
Unexecuted instantiation: upx.c:fmap_need_off
Unexecuted instantiation: wwunpack.c:fmap_need_off
Unexecuted instantiation: yc.c:fmap_need_off
Unexecuted instantiation: mbox.c:fmap_need_off
Unexecuted instantiation: message.c:fmap_need_off
Unexecuted instantiation: phish_domaincheck_db.c:fmap_need_off
Unexecuted instantiation: phish_allow_list.c:fmap_need_off
Unexecuted instantiation: phishcheck.c:fmap_need_off
Unexecuted instantiation: regex_list.c:fmap_need_off
Unexecuted instantiation: regex_suffix.c:fmap_need_off
sis.c:fmap_need_off
Line
Count
Source
180
277k
{
181
277k
    return m->need(m, at, len, 1);
182
277k
}
Unexecuted instantiation: tnef.c:fmap_need_off
Unexecuted instantiation: uuencode.c:fmap_need_off
Unexecuted instantiation: swf.c:fmap_need_off
pdf.c:fmap_need_off
Line
Count
Source
180
461k
{
181
461k
    return m->need(m, at, len, 1);
182
461k
}
Unexecuted instantiation: pdfng.c:fmap_need_off
Unexecuted instantiation: pdfdecode.c:fmap_need_off
Unexecuted instantiation: xdp.c:fmap_need_off
Unexecuted instantiation: unarj.c:fmap_need_off
Unexecuted instantiation: is_tar.c:fmap_need_off
Unexecuted instantiation: untar.c:fmap_need_off
unzip.c:fmap_need_off
Line
Count
Source
180
3.29M
{
181
3.29M
    return m->need(m, at, len, 1);
182
3.29M
}
Unexecuted instantiation: dmg.c:fmap_need_off
Unexecuted instantiation: xar.c:fmap_need_off
Unexecuted instantiation: egg.c:fmap_need_off
Unexecuted instantiation: mbr.c:fmap_need_off
Unexecuted instantiation: gpt.c:fmap_need_off
Unexecuted instantiation: apm.c:fmap_need_off
Unexecuted instantiation: hfsplus.c:fmap_need_off
iso9660.c:fmap_need_off
Line
Count
Source
180
23.1k
{
181
23.1k
    return m->need(m, at, len, 1);
182
23.1k
}
Unexecuted instantiation: openioc.c:fmap_need_off
Unexecuted instantiation: jpeg.c:fmap_need_off
Unexecuted instantiation: png.c:fmap_need_off
Unexecuted instantiation: tiff.c:fmap_need_off
gif.c:fmap_need_off
Line
Count
Source
180
363k
{
181
363k
    return m->need(m, at, len, 1);
182
363k
}
Unexecuted instantiation: udf.c:fmap_need_off
Unexecuted instantiation: regcomp.c:fmap_need_off
Unexecuted instantiation: regexec.c:fmap_need_off
Unexecuted instantiation: 7zCrc.c:fmap_need_off
Unexecuted instantiation: 7zIn.c:fmap_need_off
Unexecuted instantiation: 7zStream.c:fmap_need_off
Unexecuted instantiation: LzmaDec.c:fmap_need_off
Unexecuted instantiation: XzCrc64.c:fmap_need_off
Unexecuted instantiation: XzDec.c:fmap_need_off
Unexecuted instantiation: yara_compiler.c:fmap_need_off
Unexecuted instantiation: yara_hash.c:fmap_need_off
Unexecuted instantiation: yara_arena.c:fmap_need_off
Unexecuted instantiation: yara_lexer.c:fmap_need_off
Unexecuted instantiation: bytecode_nojit.c:fmap_need_off
Unexecuted instantiation: blob.c:fmap_need_off
Unexecuted instantiation: fpu.c:fmap_need_off
Unexecuted instantiation: hashtab.c:fmap_need_off
Unexecuted instantiation: json_api.c:fmap_need_off
Unexecuted instantiation: table.c:fmap_need_off
Unexecuted instantiation: text.c:fmap_need_off
Unexecuted instantiation: uniq.c:fmap_need_off
Unexecuted instantiation: www.c:fmap_need_off
Unexecuted instantiation: filtering.c:fmap_need_off
Unexecuted instantiation: matcher-ac.c:fmap_need_off
Unexecuted instantiation: matcher-bm.c:fmap_need_off
Unexecuted instantiation: matcher-byte-comp.c:fmap_need_off
Unexecuted instantiation: matcher-hash.c:fmap_need_off
Unexecuted instantiation: matcher-pcre.c:fmap_need_off
Unexecuted instantiation: regex_pcre.c:fmap_need_off
Unexecuted instantiation: cvd.c:fmap_need_off
Unexecuted instantiation: dconf.c:fmap_need_off
Unexecuted instantiation: dsig.c:fmap_need_off
Unexecuted instantiation: partition_intersection.c:fmap_need_off
Unexecuted instantiation: hostid_internal.c:fmap_need_off
Unexecuted instantiation: stats_json.c:fmap_need_off
Unexecuted instantiation: bytecode_api_decl.c:fmap_need_off
Unexecuted instantiation: bytecode_api.c:fmap_need_off
Unexecuted instantiation: bytecode_detect.c:fmap_need_off
Unexecuted instantiation: bytecode_vm.c:fmap_need_off
Unexecuted instantiation: explode.c:fmap_need_off
Unexecuted instantiation: inflate64.c:fmap_need_off
Unexecuted instantiation: lzwdec.c:fmap_need_off
Unexecuted instantiation: bzlib.c:fmap_need_off
Unexecuted instantiation: pe_icons.c:fmap_need_off
Unexecuted instantiation: rebuildpe.c:fmap_need_off
Unexecuted instantiation: line.c:fmap_need_off
Unexecuted instantiation: adc.c:fmap_need_off
Unexecuted instantiation: 7zBuf.c:fmap_need_off
Unexecuted instantiation: 7zDec.c:fmap_need_off
Unexecuted instantiation: Bcj2.c:fmap_need_off
Unexecuted instantiation: Bra.c:fmap_need_off
Unexecuted instantiation: Bra86.c:fmap_need_off
Unexecuted instantiation: BraIA64.c:fmap_need_off
Unexecuted instantiation: Delta.c:fmap_need_off
Unexecuted instantiation: Lzma2Dec.c:fmap_need_off
Unexecuted instantiation: Ppmd7.c:fmap_need_off
Unexecuted instantiation: Ppmd7Dec.c:fmap_need_off
Unexecuted instantiation: Xz.c:fmap_need_off
Unexecuted instantiation: yara_exec.c:fmap_need_off
Unexecuted instantiation: yara_grammar.c:fmap_need_off
Unexecuted instantiation: disasm.c:fmap_need_off
Unexecuted instantiation: yara_parser.c:fmap_need_off
183
184
/**
185
 * @brief Get a pointer to the file data if the requested offset & len are within the fmap.
186
 *
187
 * For fmap's created from file descriptors, this will also page the requested file map pages.
188
 *
189
 * This is just like fmap_need_off() except it will not lock the pages, and you don't need
190
 * to call fmap_unneed_off() / fmap_unneed_ptr() to release the page locks.
191
 *
192
 * @param m     The fmap.
193
 * @param at    The map offset requested.
194
 * @param len   The data length requested.
195
 * @return const void* A pointer into to the fmap->data at the requested ofset. NULL if offset/len are not contained in the fmap.
196
 */
197
static inline const void *fmap_need_off_once(fmap_t *m, size_t at, size_t len)
198
595M
{
199
595M
    return m->need(m, at, len, 0);
200
595M
}
Unexecuted instantiation: others_common.c:fmap_need_off_once
Unexecuted instantiation: qsort.c:fmap_need_off_once
Unexecuted instantiation: str.c:fmap_need_off_once
Unexecuted instantiation: cache.c:fmap_need_off_once
Unexecuted instantiation: crtmgr.c:fmap_need_off_once
Unexecuted instantiation: crypto.c:fmap_need_off_once
filetypes.c:fmap_need_off_once
Line
Count
Source
198
11.6M
{
199
11.6M
    return m->need(m, at, len, 0);
200
11.6M
}
fmap.c:fmap_need_off_once
Line
Count
Source
198
13.4M
{
199
13.4M
    return m->need(m, at, len, 0);
200
13.4M
}
Unexecuted instantiation: others.c:fmap_need_off_once
Unexecuted instantiation: textdet.c:fmap_need_off_once
htmlnorm.c:fmap_need_off_once
Line
Count
Source
198
737k
{
199
737k
    return m->need(m, at, len, 0);
200
737k
}
Unexecuted instantiation: js-norm.c:fmap_need_off_once
Unexecuted instantiation: textnorm.c:fmap_need_off_once
special.c:fmap_need_off_once
Line
Count
Source
198
2.83M
{
199
2.83M
    return m->need(m, at, len, 0);
200
2.83M
}
Unexecuted instantiation: stats.c:fmap_need_off_once
Unexecuted instantiation: bytecode.c:fmap_need_off_once
Unexecuted instantiation: events.c:fmap_need_off_once
7z_iface.c:fmap_need_off_once
Line
Count
Source
198
1.19M
{
199
1.19M
    return m->need(m, at, len, 0);
200
1.19M
}
Unexecuted instantiation: lzma_iface.c:fmap_need_off_once
Unexecuted instantiation: xz_iface.c:fmap_need_off_once
Unexecuted instantiation: entconv.c:fmap_need_off_once
Unexecuted instantiation: dlp.c:fmap_need_off_once
Unexecuted instantiation: autoit.c:fmap_need_off_once
binhex.c:fmap_need_off_once
Line
Count
Source
198
12.7k
{
199
12.7k
    return m->need(m, at, len, 0);
200
12.7k
}
cpio.c:fmap_need_off_once
Line
Count
Source
198
162k
{
199
162k
    return m->need(m, at, len, 0);
200
162k
}
ishield.c:fmap_need_off_once
Line
Count
Source
198
74
{
199
74
    return m->need(m, at, len, 0);
200
74
}
libmspack.c:fmap_need_off_once
Line
Count
Source
198
37.1M
{
199
37.1M
    return m->need(m, at, len, 0);
200
37.1M
}
msexpand.c:fmap_need_off_once
Line
Count
Source
198
2.62k
{
199
2.62k
    return m->need(m, at, len, 0);
200
2.62k
}
Unexecuted instantiation: nulsft.c:fmap_need_off_once
hwp.c:fmap_need_off_once
Line
Count
Source
198
16.3M
{
199
16.3M
    return m->need(m, at, len, 0);
200
16.3M
}
msdoc.c:fmap_need_off_once
Line
Count
Source
198
21.7k
{
199
21.7k
    return m->need(m, at, len, 0);
200
21.7k
}
Unexecuted instantiation: msxml_parser.c:fmap_need_off_once
Unexecuted instantiation: msxml.c:fmap_need_off_once
ole2_extract.c:fmap_need_off_once
Line
Count
Source
198
9.78M
{
199
9.78M
    return m->need(m, at, len, 0);
200
9.78M
}
Unexecuted instantiation: xlm_extract.c:fmap_need_off_once
Unexecuted instantiation: ooxml.c:fmap_need_off_once
rtf.c:fmap_need_off_once
Line
Count
Source
198
38.9k
{
199
38.9k
    return m->need(m, at, len, 0);
200
38.9k
}
Unexecuted instantiation: vba_extract.c:fmap_need_off_once
asn1.c:fmap_need_off_once
Line
Count
Source
198
340
{
199
340
    return m->need(m, at, len, 0);
200
340
}
elf.c:fmap_need_off_once
Line
Count
Source
198
1.57M
{
199
1.57M
    return m->need(m, at, len, 0);
200
1.57M
}
macho.c:fmap_need_off_once
Line
Count
Source
198
22.6M
{
199
22.6M
    return m->need(m, at, len, 0);
200
22.6M
}
pe.c:fmap_need_off_once
Line
Count
Source
198
16.3M
{
199
16.3M
    return m->need(m, at, len, 0);
200
16.3M
}
Unexecuted instantiation: aspack.c:fmap_need_off_once
Unexecuted instantiation: fsg.c:fmap_need_off_once
Unexecuted instantiation: mew.c:fmap_need_off_once
Unexecuted instantiation: packlibs.c:fmap_need_off_once
Unexecuted instantiation: petite.c:fmap_need_off_once
Unexecuted instantiation: spin.c:fmap_need_off_once
Unexecuted instantiation: unsp.c:fmap_need_off_once
Unexecuted instantiation: upack.c:fmap_need_off_once
Unexecuted instantiation: upx.c:fmap_need_off_once
Unexecuted instantiation: wwunpack.c:fmap_need_off_once
Unexecuted instantiation: yc.c:fmap_need_off_once
mbox.c:fmap_need_off_once
Line
Count
Source
198
115M
{
199
115M
    return m->need(m, at, len, 0);
200
115M
}
Unexecuted instantiation: message.c:fmap_need_off_once
Unexecuted instantiation: phish_domaincheck_db.c:fmap_need_off_once
Unexecuted instantiation: phish_allow_list.c:fmap_need_off_once
Unexecuted instantiation: phishcheck.c:fmap_need_off_once
Unexecuted instantiation: regex_list.c:fmap_need_off_once
Unexecuted instantiation: regex_suffix.c:fmap_need_off_once
sis.c:fmap_need_off_once
Line
Count
Source
198
510k
{
199
510k
    return m->need(m, at, len, 0);
200
510k
}
tnef.c:fmap_need_off_once
Line
Count
Source
198
147k
{
199
147k
    return m->need(m, at, len, 0);
200
147k
}
Unexecuted instantiation: uuencode.c:fmap_need_off_once
swf.c:fmap_need_off_once
Line
Count
Source
198
234k
{
199
234k
    return m->need(m, at, len, 0);
200
234k
}
pdf.c:fmap_need_off_once
Line
Count
Source
198
979k
{
199
979k
    return m->need(m, at, len, 0);
200
979k
}
Unexecuted instantiation: pdfng.c:fmap_need_off_once
Unexecuted instantiation: pdfdecode.c:fmap_need_off_once
xdp.c:fmap_need_off_once
Line
Count
Source
198
2.37k
{
199
2.37k
    return m->need(m, at, len, 0);
200
2.37k
}
unarj.c:fmap_need_off_once
Line
Count
Source
198
18.2M
{
199
18.2M
    return m->need(m, at, len, 0);
200
18.2M
}
Unexecuted instantiation: is_tar.c:fmap_need_off_once
untar.c:fmap_need_off_once
Line
Count
Source
198
18.7k
{
199
18.7k
    return m->need(m, at, len, 0);
200
18.7k
}
unzip.c:fmap_need_off_once
Line
Count
Source
198
199M
{
199
199M
    return m->need(m, at, len, 0);
200
199M
}
dmg.c:fmap_need_off_once
Line
Count
Source
198
4.28k
{
199
4.28k
    return m->need(m, at, len, 0);
200
4.28k
}
xar.c:fmap_need_off_once
Line
Count
Source
198
4.74k
{
199
4.74k
    return m->need(m, at, len, 0);
200
4.74k
}
egg.c:fmap_need_off_once
Line
Count
Source
198
226k
{
199
226k
    return m->need(m, at, len, 0);
200
226k
}
mbr.c:fmap_need_off_once
Line
Count
Source
198
30
{
199
30
    return m->need(m, at, len, 0);
200
30
}
gpt.c:fmap_need_off_once
Line
Count
Source
198
873
{
199
873
    return m->need(m, at, len, 0);
200
873
}
apm.c:fmap_need_off_once
Line
Count
Source
198
3
{
199
3
    return m->need(m, at, len, 0);
200
3
}
Unexecuted instantiation: hfsplus.c:fmap_need_off_once
iso9660.c:fmap_need_off_once
Line
Count
Source
198
8.05k
{
199
8.05k
    return m->need(m, at, len, 0);
200
8.05k
}
Unexecuted instantiation: openioc.c:fmap_need_off_once
jpeg.c:fmap_need_off_once
Line
Count
Source
198
111M
{
199
111M
    return m->need(m, at, len, 0);
200
111M
}
png.c:fmap_need_off_once
Line
Count
Source
198
2.75M
{
199
2.75M
    return m->need(m, at, len, 0);
200
2.75M
}
tiff.c:fmap_need_off_once
Line
Count
Source
198
7.38M
{
199
7.38M
    return m->need(m, at, len, 0);
200
7.38M
}
gif.c:fmap_need_off_once
Line
Count
Source
198
5.93M
{
199
5.93M
    return m->need(m, at, len, 0);
200
5.93M
}
Unexecuted instantiation: udf.c:fmap_need_off_once
Unexecuted instantiation: regcomp.c:fmap_need_off_once
Unexecuted instantiation: regexec.c:fmap_need_off_once
Unexecuted instantiation: 7zCrc.c:fmap_need_off_once
Unexecuted instantiation: 7zIn.c:fmap_need_off_once
Unexecuted instantiation: 7zStream.c:fmap_need_off_once
Unexecuted instantiation: LzmaDec.c:fmap_need_off_once
Unexecuted instantiation: XzCrc64.c:fmap_need_off_once
Unexecuted instantiation: XzDec.c:fmap_need_off_once
Unexecuted instantiation: yara_compiler.c:fmap_need_off_once
Unexecuted instantiation: yara_hash.c:fmap_need_off_once
Unexecuted instantiation: yara_arena.c:fmap_need_off_once
Unexecuted instantiation: yara_lexer.c:fmap_need_off_once
Unexecuted instantiation: bytecode_nojit.c:fmap_need_off_once
Unexecuted instantiation: blob.c:fmap_need_off_once
Unexecuted instantiation: fpu.c:fmap_need_off_once
Unexecuted instantiation: hashtab.c:fmap_need_off_once
Unexecuted instantiation: json_api.c:fmap_need_off_once
Unexecuted instantiation: table.c:fmap_need_off_once
Unexecuted instantiation: text.c:fmap_need_off_once
Unexecuted instantiation: uniq.c:fmap_need_off_once
Unexecuted instantiation: www.c:fmap_need_off_once
Unexecuted instantiation: filtering.c:fmap_need_off_once
Unexecuted instantiation: matcher-ac.c:fmap_need_off_once
Unexecuted instantiation: matcher-bm.c:fmap_need_off_once
Unexecuted instantiation: matcher-byte-comp.c:fmap_need_off_once
Unexecuted instantiation: matcher-hash.c:fmap_need_off_once
Unexecuted instantiation: matcher-pcre.c:fmap_need_off_once
Unexecuted instantiation: regex_pcre.c:fmap_need_off_once
Unexecuted instantiation: cvd.c:fmap_need_off_once
Unexecuted instantiation: dconf.c:fmap_need_off_once
Unexecuted instantiation: dsig.c:fmap_need_off_once
Unexecuted instantiation: partition_intersection.c:fmap_need_off_once
Unexecuted instantiation: hostid_internal.c:fmap_need_off_once
Unexecuted instantiation: stats_json.c:fmap_need_off_once
Unexecuted instantiation: bytecode_api_decl.c:fmap_need_off_once
Unexecuted instantiation: bytecode_api.c:fmap_need_off_once
Unexecuted instantiation: bytecode_detect.c:fmap_need_off_once
Unexecuted instantiation: bytecode_vm.c:fmap_need_off_once
Unexecuted instantiation: explode.c:fmap_need_off_once
Unexecuted instantiation: inflate64.c:fmap_need_off_once
Unexecuted instantiation: lzwdec.c:fmap_need_off_once
Unexecuted instantiation: bzlib.c:fmap_need_off_once
Unexecuted instantiation: pe_icons.c:fmap_need_off_once
Unexecuted instantiation: rebuildpe.c:fmap_need_off_once
Unexecuted instantiation: line.c:fmap_need_off_once
Unexecuted instantiation: adc.c:fmap_need_off_once
Unexecuted instantiation: 7zBuf.c:fmap_need_off_once
Unexecuted instantiation: 7zDec.c:fmap_need_off_once
Unexecuted instantiation: Bcj2.c:fmap_need_off_once
Unexecuted instantiation: Bra.c:fmap_need_off_once
Unexecuted instantiation: Bra86.c:fmap_need_off_once
Unexecuted instantiation: BraIA64.c:fmap_need_off_once
Unexecuted instantiation: Delta.c:fmap_need_off_once
Unexecuted instantiation: Lzma2Dec.c:fmap_need_off_once
Unexecuted instantiation: Ppmd7.c:fmap_need_off_once
Unexecuted instantiation: Ppmd7Dec.c:fmap_need_off_once
Unexecuted instantiation: Xz.c:fmap_need_off_once
Unexecuted instantiation: yara_exec.c:fmap_need_off_once
Unexecuted instantiation: yara_grammar.c:fmap_need_off_once
Unexecuted instantiation: disasm.c:fmap_need_off_once
Unexecuted instantiation: yara_parser.c:fmap_need_off_once
201
202
/**
203
 * @brief Return an offset into the current fmap given a pointer into the fmap data.
204
 *
205
 * For a nested (duplicate) fmap, the returned offset will be appropriate to the nested map.
206
 * For example, if the ptr points to the start of the nested file, the returned offset will be 0.
207
 * So this should be true, even for a nested fmap:
208
 *   void *ptr = fmap_need_off(m, 0, 10);
209
 *   size_t off = fmap_need_ptr(m, ptr, 10);
210
 *   assert(ptr == off);
211
 *
212
 * @param m     The fmap
213
 * @param ptr   A pointer into the fmap->data
214
 * @return size_t The offset into the fmap
215
 */
216
static inline size_t fmap_ptr2off(const fmap_t *m, const void *ptr)
217
22.7M
{
218
22.7M
    return (size_t)((const char *)ptr - (const char *)m->data) - m->nested_offset;
219
22.7M
}
Unexecuted instantiation: others_common.c:fmap_ptr2off
Unexecuted instantiation: qsort.c:fmap_ptr2off
Unexecuted instantiation: str.c:fmap_ptr2off
Unexecuted instantiation: cache.c:fmap_ptr2off
Unexecuted instantiation: crtmgr.c:fmap_ptr2off
Unexecuted instantiation: crypto.c:fmap_ptr2off
Unexecuted instantiation: filetypes.c:fmap_ptr2off
Unexecuted instantiation: fmap.c:fmap_ptr2off
Unexecuted instantiation: others.c:fmap_ptr2off
Unexecuted instantiation: textdet.c:fmap_ptr2off
htmlnorm.c:fmap_ptr2off
Line
Count
Source
217
464k
{
218
464k
    return (size_t)((const char *)ptr - (const char *)m->data) - m->nested_offset;
219
464k
}
Unexecuted instantiation: js-norm.c:fmap_ptr2off
Unexecuted instantiation: textnorm.c:fmap_ptr2off
special.c:fmap_ptr2off
Line
Count
Source
217
11.4k
{
218
11.4k
    return (size_t)((const char *)ptr - (const char *)m->data) - m->nested_offset;
219
11.4k
}
Unexecuted instantiation: stats.c:fmap_ptr2off
Unexecuted instantiation: bytecode.c:fmap_ptr2off
Unexecuted instantiation: events.c:fmap_ptr2off
Unexecuted instantiation: 7z_iface.c:fmap_ptr2off
Unexecuted instantiation: lzma_iface.c:fmap_ptr2off
Unexecuted instantiation: xz_iface.c:fmap_ptr2off
Unexecuted instantiation: entconv.c:fmap_ptr2off
Unexecuted instantiation: dlp.c:fmap_ptr2off
Unexecuted instantiation: autoit.c:fmap_ptr2off
Unexecuted instantiation: binhex.c:fmap_ptr2off
Unexecuted instantiation: cpio.c:fmap_ptr2off
ishield.c:fmap_ptr2off
Line
Count
Source
217
95
{
218
95
    return (size_t)((const char *)ptr - (const char *)m->data) - m->nested_offset;
219
95
}
Unexecuted instantiation: libmspack.c:fmap_ptr2off
Unexecuted instantiation: msexpand.c:fmap_ptr2off
Unexecuted instantiation: nulsft.c:fmap_ptr2off
Unexecuted instantiation: hwp.c:fmap_ptr2off
Unexecuted instantiation: msdoc.c:fmap_ptr2off
Unexecuted instantiation: msxml_parser.c:fmap_ptr2off
Unexecuted instantiation: msxml.c:fmap_ptr2off
Unexecuted instantiation: ole2_extract.c:fmap_ptr2off
Unexecuted instantiation: xlm_extract.c:fmap_ptr2off
Unexecuted instantiation: ooxml.c:fmap_ptr2off
Unexecuted instantiation: rtf.c:fmap_ptr2off
Unexecuted instantiation: vba_extract.c:fmap_ptr2off
asn1.c:fmap_ptr2off
Line
Count
Source
217
11.8k
{
218
11.8k
    return (size_t)((const char *)ptr - (const char *)m->data) - m->nested_offset;
219
11.8k
}
Unexecuted instantiation: elf.c:fmap_ptr2off
Unexecuted instantiation: macho.c:fmap_ptr2off
pe.c:fmap_ptr2off
Line
Count
Source
217
18.8M
{
218
18.8M
    return (size_t)((const char *)ptr - (const char *)m->data) - m->nested_offset;
219
18.8M
}
Unexecuted instantiation: aspack.c:fmap_ptr2off
Unexecuted instantiation: fsg.c:fmap_ptr2off
Unexecuted instantiation: mew.c:fmap_ptr2off
Unexecuted instantiation: packlibs.c:fmap_ptr2off
Unexecuted instantiation: petite.c:fmap_ptr2off
Unexecuted instantiation: spin.c:fmap_ptr2off
Unexecuted instantiation: unsp.c:fmap_ptr2off
Unexecuted instantiation: upack.c:fmap_ptr2off
Unexecuted instantiation: upx.c:fmap_ptr2off
Unexecuted instantiation: wwunpack.c:fmap_ptr2off
Unexecuted instantiation: yc.c:fmap_ptr2off
Unexecuted instantiation: mbox.c:fmap_ptr2off
Unexecuted instantiation: message.c:fmap_ptr2off
Unexecuted instantiation: phish_domaincheck_db.c:fmap_ptr2off
Unexecuted instantiation: phish_allow_list.c:fmap_ptr2off
Unexecuted instantiation: phishcheck.c:fmap_ptr2off
Unexecuted instantiation: regex_list.c:fmap_ptr2off
Unexecuted instantiation: regex_suffix.c:fmap_ptr2off
Unexecuted instantiation: sis.c:fmap_ptr2off
Unexecuted instantiation: tnef.c:fmap_ptr2off
Unexecuted instantiation: uuencode.c:fmap_ptr2off
Unexecuted instantiation: swf.c:fmap_ptr2off
Unexecuted instantiation: pdf.c:fmap_ptr2off
Unexecuted instantiation: pdfng.c:fmap_ptr2off
Unexecuted instantiation: pdfdecode.c:fmap_ptr2off
Unexecuted instantiation: xdp.c:fmap_ptr2off
Unexecuted instantiation: unarj.c:fmap_ptr2off
Unexecuted instantiation: is_tar.c:fmap_ptr2off
Unexecuted instantiation: untar.c:fmap_ptr2off
unzip.c:fmap_ptr2off
Line
Count
Source
217
3.44M
{
218
3.44M
    return (size_t)((const char *)ptr - (const char *)m->data) - m->nested_offset;
219
3.44M
}
Unexecuted instantiation: dmg.c:fmap_ptr2off
Unexecuted instantiation: xar.c:fmap_ptr2off
Unexecuted instantiation: egg.c:fmap_ptr2off
Unexecuted instantiation: mbr.c:fmap_ptr2off
Unexecuted instantiation: gpt.c:fmap_ptr2off
Unexecuted instantiation: apm.c:fmap_ptr2off
Unexecuted instantiation: hfsplus.c:fmap_ptr2off
iso9660.c:fmap_ptr2off
Line
Count
Source
217
16.7k
{
218
16.7k
    return (size_t)((const char *)ptr - (const char *)m->data) - m->nested_offset;
219
16.7k
}
Unexecuted instantiation: openioc.c:fmap_ptr2off
Unexecuted instantiation: jpeg.c:fmap_ptr2off
Unexecuted instantiation: png.c:fmap_ptr2off
Unexecuted instantiation: tiff.c:fmap_ptr2off
Unexecuted instantiation: gif.c:fmap_ptr2off
Unexecuted instantiation: udf.c:fmap_ptr2off
Unexecuted instantiation: regcomp.c:fmap_ptr2off
Unexecuted instantiation: regexec.c:fmap_ptr2off
Unexecuted instantiation: 7zCrc.c:fmap_ptr2off
Unexecuted instantiation: 7zIn.c:fmap_ptr2off
Unexecuted instantiation: 7zStream.c:fmap_ptr2off
Unexecuted instantiation: LzmaDec.c:fmap_ptr2off
Unexecuted instantiation: XzCrc64.c:fmap_ptr2off
Unexecuted instantiation: XzDec.c:fmap_ptr2off
Unexecuted instantiation: yara_compiler.c:fmap_ptr2off
Unexecuted instantiation: yara_hash.c:fmap_ptr2off
Unexecuted instantiation: yara_arena.c:fmap_ptr2off
Unexecuted instantiation: yara_lexer.c:fmap_ptr2off
Unexecuted instantiation: bytecode_nojit.c:fmap_ptr2off
Unexecuted instantiation: blob.c:fmap_ptr2off
Unexecuted instantiation: fpu.c:fmap_ptr2off
Unexecuted instantiation: hashtab.c:fmap_ptr2off
Unexecuted instantiation: json_api.c:fmap_ptr2off
Unexecuted instantiation: table.c:fmap_ptr2off
Unexecuted instantiation: text.c:fmap_ptr2off
Unexecuted instantiation: uniq.c:fmap_ptr2off
Unexecuted instantiation: www.c:fmap_ptr2off
Unexecuted instantiation: filtering.c:fmap_ptr2off
Unexecuted instantiation: matcher-ac.c:fmap_ptr2off
Unexecuted instantiation: matcher-bm.c:fmap_ptr2off
Unexecuted instantiation: matcher-byte-comp.c:fmap_ptr2off
Unexecuted instantiation: matcher-hash.c:fmap_ptr2off
Unexecuted instantiation: matcher-pcre.c:fmap_ptr2off
Unexecuted instantiation: regex_pcre.c:fmap_ptr2off
Unexecuted instantiation: cvd.c:fmap_ptr2off
Unexecuted instantiation: dconf.c:fmap_ptr2off
Unexecuted instantiation: dsig.c:fmap_ptr2off
Unexecuted instantiation: partition_intersection.c:fmap_ptr2off
Unexecuted instantiation: hostid_internal.c:fmap_ptr2off
Unexecuted instantiation: stats_json.c:fmap_ptr2off
Unexecuted instantiation: bytecode_api_decl.c:fmap_ptr2off
Unexecuted instantiation: bytecode_api.c:fmap_ptr2off
Unexecuted instantiation: bytecode_detect.c:fmap_ptr2off
Unexecuted instantiation: bytecode_vm.c:fmap_ptr2off
Unexecuted instantiation: explode.c:fmap_ptr2off
Unexecuted instantiation: inflate64.c:fmap_ptr2off
Unexecuted instantiation: lzwdec.c:fmap_ptr2off
Unexecuted instantiation: bzlib.c:fmap_ptr2off
Unexecuted instantiation: pe_icons.c:fmap_ptr2off
Unexecuted instantiation: rebuildpe.c:fmap_ptr2off
Unexecuted instantiation: line.c:fmap_ptr2off
Unexecuted instantiation: adc.c:fmap_ptr2off
Unexecuted instantiation: 7zBuf.c:fmap_ptr2off
Unexecuted instantiation: 7zDec.c:fmap_ptr2off
Unexecuted instantiation: Bcj2.c:fmap_ptr2off
Unexecuted instantiation: Bra.c:fmap_ptr2off
Unexecuted instantiation: Bra86.c:fmap_ptr2off
Unexecuted instantiation: BraIA64.c:fmap_ptr2off
Unexecuted instantiation: Delta.c:fmap_ptr2off
Unexecuted instantiation: Lzma2Dec.c:fmap_ptr2off
Unexecuted instantiation: Ppmd7.c:fmap_ptr2off
Unexecuted instantiation: Ppmd7Dec.c:fmap_ptr2off
Unexecuted instantiation: Xz.c:fmap_ptr2off
Unexecuted instantiation: yara_exec.c:fmap_ptr2off
Unexecuted instantiation: yara_grammar.c:fmap_ptr2off
Unexecuted instantiation: disasm.c:fmap_ptr2off
Unexecuted instantiation: yara_parser.c:fmap_ptr2off
220
221
/**
222
 * @brief Get a pointer to the file data given a pointer into the map->data & len that are within the fmap.
223
 *
224
 * For fmap's created from file descriptors, this will also page the requested file map pages.
225
 *
226
 * This will lock the pages containing the requested data.
227
 * You must call fmap_unneed_off() / fmap_unneed_ptr() when you're done accessing the data to
228
 * release the page locks.
229
 *
230
 * @param m     The fmap.
231
 * @param ptr   A pointer into the fmap->data.
232
 * @param len   The data length requested.
233
 * @return const void* A pointer into to the fmap->data at the requested ofset. NULL if offset/len are not contained in the fmap.
234
 */
235
static inline const void *fmap_need_ptr(fmap_t *m, const void *ptr, size_t len)
236
0
{
237
0
    return m->need(m, fmap_ptr2off(m, ptr), len, 1);
238
0
}
Unexecuted instantiation: others_common.c:fmap_need_ptr
Unexecuted instantiation: qsort.c:fmap_need_ptr
Unexecuted instantiation: str.c:fmap_need_ptr
Unexecuted instantiation: cache.c:fmap_need_ptr
Unexecuted instantiation: crtmgr.c:fmap_need_ptr
Unexecuted instantiation: crypto.c:fmap_need_ptr
Unexecuted instantiation: filetypes.c:fmap_need_ptr
Unexecuted instantiation: fmap.c:fmap_need_ptr
Unexecuted instantiation: others.c:fmap_need_ptr
Unexecuted instantiation: textdet.c:fmap_need_ptr
Unexecuted instantiation: htmlnorm.c:fmap_need_ptr
Unexecuted instantiation: js-norm.c:fmap_need_ptr
Unexecuted instantiation: textnorm.c:fmap_need_ptr
Unexecuted instantiation: special.c:fmap_need_ptr
Unexecuted instantiation: stats.c:fmap_need_ptr
Unexecuted instantiation: bytecode.c:fmap_need_ptr
Unexecuted instantiation: events.c:fmap_need_ptr
Unexecuted instantiation: 7z_iface.c:fmap_need_ptr
Unexecuted instantiation: lzma_iface.c:fmap_need_ptr
Unexecuted instantiation: xz_iface.c:fmap_need_ptr
Unexecuted instantiation: entconv.c:fmap_need_ptr
Unexecuted instantiation: dlp.c:fmap_need_ptr
Unexecuted instantiation: autoit.c:fmap_need_ptr
Unexecuted instantiation: binhex.c:fmap_need_ptr
Unexecuted instantiation: cpio.c:fmap_need_ptr
Unexecuted instantiation: ishield.c:fmap_need_ptr
Unexecuted instantiation: libmspack.c:fmap_need_ptr
Unexecuted instantiation: msexpand.c:fmap_need_ptr
Unexecuted instantiation: nulsft.c:fmap_need_ptr
Unexecuted instantiation: hwp.c:fmap_need_ptr
Unexecuted instantiation: msdoc.c:fmap_need_ptr
Unexecuted instantiation: msxml_parser.c:fmap_need_ptr
Unexecuted instantiation: msxml.c:fmap_need_ptr
Unexecuted instantiation: ole2_extract.c:fmap_need_ptr
Unexecuted instantiation: xlm_extract.c:fmap_need_ptr
Unexecuted instantiation: ooxml.c:fmap_need_ptr
Unexecuted instantiation: rtf.c:fmap_need_ptr
Unexecuted instantiation: vba_extract.c:fmap_need_ptr
Unexecuted instantiation: asn1.c:fmap_need_ptr
Unexecuted instantiation: elf.c:fmap_need_ptr
Unexecuted instantiation: macho.c:fmap_need_ptr
Unexecuted instantiation: pe.c:fmap_need_ptr
Unexecuted instantiation: aspack.c:fmap_need_ptr
Unexecuted instantiation: fsg.c:fmap_need_ptr
Unexecuted instantiation: mew.c:fmap_need_ptr
Unexecuted instantiation: packlibs.c:fmap_need_ptr
Unexecuted instantiation: petite.c:fmap_need_ptr
Unexecuted instantiation: spin.c:fmap_need_ptr
Unexecuted instantiation: unsp.c:fmap_need_ptr
Unexecuted instantiation: upack.c:fmap_need_ptr
Unexecuted instantiation: upx.c:fmap_need_ptr
Unexecuted instantiation: wwunpack.c:fmap_need_ptr
Unexecuted instantiation: yc.c:fmap_need_ptr
Unexecuted instantiation: mbox.c:fmap_need_ptr
Unexecuted instantiation: message.c:fmap_need_ptr
Unexecuted instantiation: phish_domaincheck_db.c:fmap_need_ptr
Unexecuted instantiation: phish_allow_list.c:fmap_need_ptr
Unexecuted instantiation: phishcheck.c:fmap_need_ptr
Unexecuted instantiation: regex_list.c:fmap_need_ptr
Unexecuted instantiation: regex_suffix.c:fmap_need_ptr
Unexecuted instantiation: sis.c:fmap_need_ptr
Unexecuted instantiation: tnef.c:fmap_need_ptr
Unexecuted instantiation: uuencode.c:fmap_need_ptr
Unexecuted instantiation: swf.c:fmap_need_ptr
Unexecuted instantiation: pdf.c:fmap_need_ptr
Unexecuted instantiation: pdfng.c:fmap_need_ptr
Unexecuted instantiation: pdfdecode.c:fmap_need_ptr
Unexecuted instantiation: xdp.c:fmap_need_ptr
Unexecuted instantiation: unarj.c:fmap_need_ptr
Unexecuted instantiation: is_tar.c:fmap_need_ptr
Unexecuted instantiation: untar.c:fmap_need_ptr
Unexecuted instantiation: unzip.c:fmap_need_ptr
Unexecuted instantiation: dmg.c:fmap_need_ptr
Unexecuted instantiation: xar.c:fmap_need_ptr
Unexecuted instantiation: egg.c:fmap_need_ptr
Unexecuted instantiation: mbr.c:fmap_need_ptr
Unexecuted instantiation: gpt.c:fmap_need_ptr
Unexecuted instantiation: apm.c:fmap_need_ptr
Unexecuted instantiation: hfsplus.c:fmap_need_ptr
Unexecuted instantiation: iso9660.c:fmap_need_ptr
Unexecuted instantiation: openioc.c:fmap_need_ptr
Unexecuted instantiation: jpeg.c:fmap_need_ptr
Unexecuted instantiation: png.c:fmap_need_ptr
Unexecuted instantiation: tiff.c:fmap_need_ptr
Unexecuted instantiation: gif.c:fmap_need_ptr
Unexecuted instantiation: udf.c:fmap_need_ptr
Unexecuted instantiation: regcomp.c:fmap_need_ptr
Unexecuted instantiation: regexec.c:fmap_need_ptr
Unexecuted instantiation: 7zCrc.c:fmap_need_ptr
Unexecuted instantiation: 7zIn.c:fmap_need_ptr
Unexecuted instantiation: 7zStream.c:fmap_need_ptr
Unexecuted instantiation: LzmaDec.c:fmap_need_ptr
Unexecuted instantiation: XzCrc64.c:fmap_need_ptr
Unexecuted instantiation: XzDec.c:fmap_need_ptr
Unexecuted instantiation: yara_compiler.c:fmap_need_ptr
Unexecuted instantiation: yara_hash.c:fmap_need_ptr
Unexecuted instantiation: yara_arena.c:fmap_need_ptr
Unexecuted instantiation: yara_lexer.c:fmap_need_ptr
Unexecuted instantiation: bytecode_nojit.c:fmap_need_ptr
Unexecuted instantiation: blob.c:fmap_need_ptr
Unexecuted instantiation: fpu.c:fmap_need_ptr
Unexecuted instantiation: hashtab.c:fmap_need_ptr
Unexecuted instantiation: json_api.c:fmap_need_ptr
Unexecuted instantiation: table.c:fmap_need_ptr
Unexecuted instantiation: text.c:fmap_need_ptr
Unexecuted instantiation: uniq.c:fmap_need_ptr
Unexecuted instantiation: www.c:fmap_need_ptr
Unexecuted instantiation: filtering.c:fmap_need_ptr
Unexecuted instantiation: matcher-ac.c:fmap_need_ptr
Unexecuted instantiation: matcher-bm.c:fmap_need_ptr
Unexecuted instantiation: matcher-byte-comp.c:fmap_need_ptr
Unexecuted instantiation: matcher-hash.c:fmap_need_ptr
Unexecuted instantiation: matcher-pcre.c:fmap_need_ptr
Unexecuted instantiation: regex_pcre.c:fmap_need_ptr
Unexecuted instantiation: cvd.c:fmap_need_ptr
Unexecuted instantiation: dconf.c:fmap_need_ptr
Unexecuted instantiation: dsig.c:fmap_need_ptr
Unexecuted instantiation: partition_intersection.c:fmap_need_ptr
Unexecuted instantiation: hostid_internal.c:fmap_need_ptr
Unexecuted instantiation: stats_json.c:fmap_need_ptr
Unexecuted instantiation: bytecode_api_decl.c:fmap_need_ptr
Unexecuted instantiation: bytecode_api.c:fmap_need_ptr
Unexecuted instantiation: bytecode_detect.c:fmap_need_ptr
Unexecuted instantiation: bytecode_vm.c:fmap_need_ptr
Unexecuted instantiation: explode.c:fmap_need_ptr
Unexecuted instantiation: inflate64.c:fmap_need_ptr
Unexecuted instantiation: lzwdec.c:fmap_need_ptr
Unexecuted instantiation: bzlib.c:fmap_need_ptr
Unexecuted instantiation: pe_icons.c:fmap_need_ptr
Unexecuted instantiation: rebuildpe.c:fmap_need_ptr
Unexecuted instantiation: line.c:fmap_need_ptr
Unexecuted instantiation: adc.c:fmap_need_ptr
Unexecuted instantiation: 7zBuf.c:fmap_need_ptr
Unexecuted instantiation: 7zDec.c:fmap_need_ptr
Unexecuted instantiation: Bcj2.c:fmap_need_ptr
Unexecuted instantiation: Bra.c:fmap_need_ptr
Unexecuted instantiation: Bra86.c:fmap_need_ptr
Unexecuted instantiation: BraIA64.c:fmap_need_ptr
Unexecuted instantiation: Delta.c:fmap_need_ptr
Unexecuted instantiation: Lzma2Dec.c:fmap_need_ptr
Unexecuted instantiation: Ppmd7.c:fmap_need_ptr
Unexecuted instantiation: Ppmd7Dec.c:fmap_need_ptr
Unexecuted instantiation: Xz.c:fmap_need_ptr
Unexecuted instantiation: yara_exec.c:fmap_need_ptr
Unexecuted instantiation: yara_grammar.c:fmap_need_ptr
Unexecuted instantiation: disasm.c:fmap_need_ptr
Unexecuted instantiation: yara_parser.c:fmap_need_ptr
239
240
/**
241
 * @brief Get a pointer to the file data given a pointer into the map->data & len that are within the fmap.
242
 *
243
 * For fmap's created from file descriptors, this will also page the requested file map pages.
244
 *
245
 * This is just like fmap_need_ptr() except it will not lock the pages, and you don't need
246
 * to call fmap_unneed_off() / fmap_unneed_ptr() to release the page locks.
247
 *
248
 * @param m     The fmap.
249
 * @param ptr   A pointer into the fmap->data.
250
 * @param len   The data length requested.
251
 * @return const void* A pointer into to the fmap->data at the requested ofset. NULL if offset/len are not contained in the fmap.
252
 */
253
static inline const void *fmap_need_ptr_once(fmap_t *m, const void *ptr, size_t len)
254
22.6M
{
255
22.6M
    return m->need(m, fmap_ptr2off(m, ptr), len, 0);
256
22.6M
}
Unexecuted instantiation: others_common.c:fmap_need_ptr_once
Unexecuted instantiation: qsort.c:fmap_need_ptr_once
Unexecuted instantiation: str.c:fmap_need_ptr_once
Unexecuted instantiation: cache.c:fmap_need_ptr_once
Unexecuted instantiation: crtmgr.c:fmap_need_ptr_once
Unexecuted instantiation: crypto.c:fmap_need_ptr_once
Unexecuted instantiation: filetypes.c:fmap_need_ptr_once
Unexecuted instantiation: fmap.c:fmap_need_ptr_once
Unexecuted instantiation: others.c:fmap_need_ptr_once
Unexecuted instantiation: textdet.c:fmap_need_ptr_once
htmlnorm.c:fmap_need_ptr_once
Line
Count
Source
254
464k
{
255
464k
    return m->need(m, fmap_ptr2off(m, ptr), len, 0);
256
464k
}
Unexecuted instantiation: js-norm.c:fmap_need_ptr_once
Unexecuted instantiation: textnorm.c:fmap_need_ptr_once
special.c:fmap_need_ptr_once
Line
Count
Source
254
11.4k
{
255
11.4k
    return m->need(m, fmap_ptr2off(m, ptr), len, 0);
256
11.4k
}
Unexecuted instantiation: stats.c:fmap_need_ptr_once
Unexecuted instantiation: bytecode.c:fmap_need_ptr_once
Unexecuted instantiation: events.c:fmap_need_ptr_once
Unexecuted instantiation: 7z_iface.c:fmap_need_ptr_once
Unexecuted instantiation: lzma_iface.c:fmap_need_ptr_once
Unexecuted instantiation: xz_iface.c:fmap_need_ptr_once
Unexecuted instantiation: entconv.c:fmap_need_ptr_once
Unexecuted instantiation: dlp.c:fmap_need_ptr_once
Unexecuted instantiation: autoit.c:fmap_need_ptr_once
Unexecuted instantiation: binhex.c:fmap_need_ptr_once
Unexecuted instantiation: cpio.c:fmap_need_ptr_once
Unexecuted instantiation: ishield.c:fmap_need_ptr_once
Unexecuted instantiation: libmspack.c:fmap_need_ptr_once
Unexecuted instantiation: msexpand.c:fmap_need_ptr_once
Unexecuted instantiation: nulsft.c:fmap_need_ptr_once
Unexecuted instantiation: hwp.c:fmap_need_ptr_once
Unexecuted instantiation: msdoc.c:fmap_need_ptr_once
Unexecuted instantiation: msxml_parser.c:fmap_need_ptr_once
Unexecuted instantiation: msxml.c:fmap_need_ptr_once
Unexecuted instantiation: ole2_extract.c:fmap_need_ptr_once
Unexecuted instantiation: xlm_extract.c:fmap_need_ptr_once
Unexecuted instantiation: ooxml.c:fmap_need_ptr_once
Unexecuted instantiation: rtf.c:fmap_need_ptr_once
Unexecuted instantiation: vba_extract.c:fmap_need_ptr_once
asn1.c:fmap_need_ptr_once
Line
Count
Source
254
11.8k
{
255
11.8k
    return m->need(m, fmap_ptr2off(m, ptr), len, 0);
256
11.8k
}
Unexecuted instantiation: elf.c:fmap_need_ptr_once
Unexecuted instantiation: macho.c:fmap_need_ptr_once
pe.c:fmap_need_ptr_once
Line
Count
Source
254
18.8M
{
255
18.8M
    return m->need(m, fmap_ptr2off(m, ptr), len, 0);
256
18.8M
}
Unexecuted instantiation: aspack.c:fmap_need_ptr_once
Unexecuted instantiation: fsg.c:fmap_need_ptr_once
Unexecuted instantiation: mew.c:fmap_need_ptr_once
Unexecuted instantiation: packlibs.c:fmap_need_ptr_once
Unexecuted instantiation: petite.c:fmap_need_ptr_once
Unexecuted instantiation: spin.c:fmap_need_ptr_once
Unexecuted instantiation: unsp.c:fmap_need_ptr_once
Unexecuted instantiation: upack.c:fmap_need_ptr_once
Unexecuted instantiation: upx.c:fmap_need_ptr_once
Unexecuted instantiation: wwunpack.c:fmap_need_ptr_once
Unexecuted instantiation: yc.c:fmap_need_ptr_once
Unexecuted instantiation: mbox.c:fmap_need_ptr_once
Unexecuted instantiation: message.c:fmap_need_ptr_once
Unexecuted instantiation: phish_domaincheck_db.c:fmap_need_ptr_once
Unexecuted instantiation: phish_allow_list.c:fmap_need_ptr_once
Unexecuted instantiation: phishcheck.c:fmap_need_ptr_once
Unexecuted instantiation: regex_list.c:fmap_need_ptr_once
Unexecuted instantiation: regex_suffix.c:fmap_need_ptr_once
Unexecuted instantiation: sis.c:fmap_need_ptr_once
Unexecuted instantiation: tnef.c:fmap_need_ptr_once
Unexecuted instantiation: uuencode.c:fmap_need_ptr_once
Unexecuted instantiation: swf.c:fmap_need_ptr_once
Unexecuted instantiation: pdf.c:fmap_need_ptr_once
Unexecuted instantiation: pdfng.c:fmap_need_ptr_once
Unexecuted instantiation: pdfdecode.c:fmap_need_ptr_once
Unexecuted instantiation: xdp.c:fmap_need_ptr_once
Unexecuted instantiation: unarj.c:fmap_need_ptr_once
Unexecuted instantiation: is_tar.c:fmap_need_ptr_once
Unexecuted instantiation: untar.c:fmap_need_ptr_once
unzip.c:fmap_need_ptr_once
Line
Count
Source
254
3.38M
{
255
3.38M
    return m->need(m, fmap_ptr2off(m, ptr), len, 0);
256
3.38M
}
Unexecuted instantiation: dmg.c:fmap_need_ptr_once
Unexecuted instantiation: xar.c:fmap_need_ptr_once
Unexecuted instantiation: egg.c:fmap_need_ptr_once
Unexecuted instantiation: mbr.c:fmap_need_ptr_once
Unexecuted instantiation: gpt.c:fmap_need_ptr_once
Unexecuted instantiation: apm.c:fmap_need_ptr_once
Unexecuted instantiation: hfsplus.c:fmap_need_ptr_once
Unexecuted instantiation: iso9660.c:fmap_need_ptr_once
Unexecuted instantiation: openioc.c:fmap_need_ptr_once
Unexecuted instantiation: jpeg.c:fmap_need_ptr_once
Unexecuted instantiation: png.c:fmap_need_ptr_once
Unexecuted instantiation: tiff.c:fmap_need_ptr_once
Unexecuted instantiation: gif.c:fmap_need_ptr_once
Unexecuted instantiation: udf.c:fmap_need_ptr_once
Unexecuted instantiation: regcomp.c:fmap_need_ptr_once
Unexecuted instantiation: regexec.c:fmap_need_ptr_once
Unexecuted instantiation: 7zCrc.c:fmap_need_ptr_once
Unexecuted instantiation: 7zIn.c:fmap_need_ptr_once
Unexecuted instantiation: 7zStream.c:fmap_need_ptr_once
Unexecuted instantiation: LzmaDec.c:fmap_need_ptr_once
Unexecuted instantiation: XzCrc64.c:fmap_need_ptr_once
Unexecuted instantiation: XzDec.c:fmap_need_ptr_once
Unexecuted instantiation: yara_compiler.c:fmap_need_ptr_once
Unexecuted instantiation: yara_hash.c:fmap_need_ptr_once
Unexecuted instantiation: yara_arena.c:fmap_need_ptr_once
Unexecuted instantiation: yara_lexer.c:fmap_need_ptr_once
Unexecuted instantiation: bytecode_nojit.c:fmap_need_ptr_once
Unexecuted instantiation: blob.c:fmap_need_ptr_once
Unexecuted instantiation: fpu.c:fmap_need_ptr_once
Unexecuted instantiation: hashtab.c:fmap_need_ptr_once
Unexecuted instantiation: json_api.c:fmap_need_ptr_once
Unexecuted instantiation: table.c:fmap_need_ptr_once
Unexecuted instantiation: text.c:fmap_need_ptr_once
Unexecuted instantiation: uniq.c:fmap_need_ptr_once
Unexecuted instantiation: www.c:fmap_need_ptr_once
Unexecuted instantiation: filtering.c:fmap_need_ptr_once
Unexecuted instantiation: matcher-ac.c:fmap_need_ptr_once
Unexecuted instantiation: matcher-bm.c:fmap_need_ptr_once
Unexecuted instantiation: matcher-byte-comp.c:fmap_need_ptr_once
Unexecuted instantiation: matcher-hash.c:fmap_need_ptr_once
Unexecuted instantiation: matcher-pcre.c:fmap_need_ptr_once
Unexecuted instantiation: regex_pcre.c:fmap_need_ptr_once
Unexecuted instantiation: cvd.c:fmap_need_ptr_once
Unexecuted instantiation: dconf.c:fmap_need_ptr_once
Unexecuted instantiation: dsig.c:fmap_need_ptr_once
Unexecuted instantiation: partition_intersection.c:fmap_need_ptr_once
Unexecuted instantiation: hostid_internal.c:fmap_need_ptr_once
Unexecuted instantiation: stats_json.c:fmap_need_ptr_once
Unexecuted instantiation: bytecode_api_decl.c:fmap_need_ptr_once
Unexecuted instantiation: bytecode_api.c:fmap_need_ptr_once
Unexecuted instantiation: bytecode_detect.c:fmap_need_ptr_once
Unexecuted instantiation: bytecode_vm.c:fmap_need_ptr_once
Unexecuted instantiation: explode.c:fmap_need_ptr_once
Unexecuted instantiation: inflate64.c:fmap_need_ptr_once
Unexecuted instantiation: lzwdec.c:fmap_need_ptr_once
Unexecuted instantiation: bzlib.c:fmap_need_ptr_once
Unexecuted instantiation: pe_icons.c:fmap_need_ptr_once
Unexecuted instantiation: rebuildpe.c:fmap_need_ptr_once
Unexecuted instantiation: line.c:fmap_need_ptr_once
Unexecuted instantiation: adc.c:fmap_need_ptr_once
Unexecuted instantiation: 7zBuf.c:fmap_need_ptr_once
Unexecuted instantiation: 7zDec.c:fmap_need_ptr_once
Unexecuted instantiation: Bcj2.c:fmap_need_ptr_once
Unexecuted instantiation: Bra.c:fmap_need_ptr_once
Unexecuted instantiation: Bra86.c:fmap_need_ptr_once
Unexecuted instantiation: BraIA64.c:fmap_need_ptr_once
Unexecuted instantiation: Delta.c:fmap_need_ptr_once
Unexecuted instantiation: Lzma2Dec.c:fmap_need_ptr_once
Unexecuted instantiation: Ppmd7.c:fmap_need_ptr_once
Unexecuted instantiation: Ppmd7Dec.c:fmap_need_ptr_once
Unexecuted instantiation: Xz.c:fmap_need_ptr_once
Unexecuted instantiation: yara_exec.c:fmap_need_ptr_once
Unexecuted instantiation: yara_grammar.c:fmap_need_ptr_once
Unexecuted instantiation: disasm.c:fmap_need_ptr_once
Unexecuted instantiation: yara_parser.c:fmap_need_ptr_once
257
258
/**
259
 * @brief Release page locks for an fmap.
260
 *
261
 * You must call this after "needing" memory with fmap_need_ptr() or fmap_need_off() once
262
 * you're done accessing the data.
263
 *
264
 * @param m     The fmap.
265
 * @param at    The map offset requested.
266
 * @param len   The data length requested.
267
 */
268
static inline void fmap_unneed_off(fmap_t *m, size_t at, size_t len)
269
3.55M
{
270
3.55M
    m->unneed_off(m, at, len);
271
3.55M
}
Unexecuted instantiation: others_common.c:fmap_unneed_off
Unexecuted instantiation: qsort.c:fmap_unneed_off
Unexecuted instantiation: str.c:fmap_unneed_off
Unexecuted instantiation: cache.c:fmap_unneed_off
Unexecuted instantiation: crtmgr.c:fmap_unneed_off
Unexecuted instantiation: crypto.c:fmap_unneed_off
Unexecuted instantiation: filetypes.c:fmap_unneed_off
Unexecuted instantiation: fmap.c:fmap_unneed_off
Unexecuted instantiation: others.c:fmap_unneed_off
Unexecuted instantiation: textdet.c:fmap_unneed_off
Unexecuted instantiation: htmlnorm.c:fmap_unneed_off
Unexecuted instantiation: js-norm.c:fmap_unneed_off
Unexecuted instantiation: textnorm.c:fmap_unneed_off
Unexecuted instantiation: special.c:fmap_unneed_off
Unexecuted instantiation: stats.c:fmap_unneed_off
Unexecuted instantiation: bytecode.c:fmap_unneed_off
Unexecuted instantiation: events.c:fmap_unneed_off
Unexecuted instantiation: 7z_iface.c:fmap_unneed_off
Unexecuted instantiation: lzma_iface.c:fmap_unneed_off
Unexecuted instantiation: xz_iface.c:fmap_unneed_off
Unexecuted instantiation: entconv.c:fmap_unneed_off
Unexecuted instantiation: dlp.c:fmap_unneed_off
Unexecuted instantiation: autoit.c:fmap_unneed_off
Unexecuted instantiation: binhex.c:fmap_unneed_off
Unexecuted instantiation: cpio.c:fmap_unneed_off
ishield.c:fmap_unneed_off
Line
Count
Source
269
95
{
270
95
    m->unneed_off(m, at, len);
271
95
}
Unexecuted instantiation: libmspack.c:fmap_unneed_off
Unexecuted instantiation: msexpand.c:fmap_unneed_off
Unexecuted instantiation: nulsft.c:fmap_unneed_off
Unexecuted instantiation: hwp.c:fmap_unneed_off
Unexecuted instantiation: msdoc.c:fmap_unneed_off
Unexecuted instantiation: msxml_parser.c:fmap_unneed_off
Unexecuted instantiation: msxml.c:fmap_unneed_off
Unexecuted instantiation: ole2_extract.c:fmap_unneed_off
Unexecuted instantiation: xlm_extract.c:fmap_unneed_off
Unexecuted instantiation: ooxml.c:fmap_unneed_off
Unexecuted instantiation: rtf.c:fmap_unneed_off
Unexecuted instantiation: vba_extract.c:fmap_unneed_off
Unexecuted instantiation: asn1.c:fmap_unneed_off
Unexecuted instantiation: elf.c:fmap_unneed_off
Unexecuted instantiation: macho.c:fmap_unneed_off
pe.c:fmap_unneed_off
Line
Count
Source
269
10.5k
{
270
10.5k
    m->unneed_off(m, at, len);
271
10.5k
}
Unexecuted instantiation: aspack.c:fmap_unneed_off
Unexecuted instantiation: fsg.c:fmap_unneed_off
Unexecuted instantiation: mew.c:fmap_unneed_off
Unexecuted instantiation: packlibs.c:fmap_unneed_off
Unexecuted instantiation: petite.c:fmap_unneed_off
Unexecuted instantiation: spin.c:fmap_unneed_off
Unexecuted instantiation: unsp.c:fmap_unneed_off
Unexecuted instantiation: upack.c:fmap_unneed_off
Unexecuted instantiation: upx.c:fmap_unneed_off
Unexecuted instantiation: wwunpack.c:fmap_unneed_off
Unexecuted instantiation: yc.c:fmap_unneed_off
Unexecuted instantiation: mbox.c:fmap_unneed_off
Unexecuted instantiation: message.c:fmap_unneed_off
Unexecuted instantiation: phish_domaincheck_db.c:fmap_unneed_off
Unexecuted instantiation: phish_allow_list.c:fmap_unneed_off
Unexecuted instantiation: phishcheck.c:fmap_unneed_off
Unexecuted instantiation: regex_list.c:fmap_unneed_off
Unexecuted instantiation: regex_suffix.c:fmap_unneed_off
sis.c:fmap_unneed_off
Line
Count
Source
269
246k
{
270
246k
    m->unneed_off(m, at, len);
271
246k
}
Unexecuted instantiation: tnef.c:fmap_unneed_off
Unexecuted instantiation: uuencode.c:fmap_unneed_off
Unexecuted instantiation: swf.c:fmap_unneed_off
Unexecuted instantiation: pdf.c:fmap_unneed_off
Unexecuted instantiation: pdfng.c:fmap_unneed_off
Unexecuted instantiation: pdfdecode.c:fmap_unneed_off
Unexecuted instantiation: xdp.c:fmap_unneed_off
Unexecuted instantiation: unarj.c:fmap_unneed_off
Unexecuted instantiation: is_tar.c:fmap_unneed_off
Unexecuted instantiation: untar.c:fmap_unneed_off
unzip.c:fmap_unneed_off
Line
Count
Source
269
3.27M
{
270
3.27M
    m->unneed_off(m, at, len);
271
3.27M
}
Unexecuted instantiation: dmg.c:fmap_unneed_off
Unexecuted instantiation: xar.c:fmap_unneed_off
Unexecuted instantiation: egg.c:fmap_unneed_off
Unexecuted instantiation: mbr.c:fmap_unneed_off
Unexecuted instantiation: gpt.c:fmap_unneed_off
Unexecuted instantiation: apm.c:fmap_unneed_off
Unexecuted instantiation: hfsplus.c:fmap_unneed_off
iso9660.c:fmap_unneed_off
Line
Count
Source
269
18.9k
{
270
18.9k
    m->unneed_off(m, at, len);
271
18.9k
}
Unexecuted instantiation: openioc.c:fmap_unneed_off
Unexecuted instantiation: jpeg.c:fmap_unneed_off
Unexecuted instantiation: png.c:fmap_unneed_off
Unexecuted instantiation: tiff.c:fmap_unneed_off
Unexecuted instantiation: gif.c:fmap_unneed_off
Unexecuted instantiation: udf.c:fmap_unneed_off
Unexecuted instantiation: regcomp.c:fmap_unneed_off
Unexecuted instantiation: regexec.c:fmap_unneed_off
Unexecuted instantiation: 7zCrc.c:fmap_unneed_off
Unexecuted instantiation: 7zIn.c:fmap_unneed_off
Unexecuted instantiation: 7zStream.c:fmap_unneed_off
Unexecuted instantiation: LzmaDec.c:fmap_unneed_off
Unexecuted instantiation: XzCrc64.c:fmap_unneed_off
Unexecuted instantiation: XzDec.c:fmap_unneed_off
Unexecuted instantiation: yara_compiler.c:fmap_unneed_off
Unexecuted instantiation: yara_hash.c:fmap_unneed_off
Unexecuted instantiation: yara_arena.c:fmap_unneed_off
Unexecuted instantiation: yara_lexer.c:fmap_unneed_off
Unexecuted instantiation: bytecode_nojit.c:fmap_unneed_off
Unexecuted instantiation: blob.c:fmap_unneed_off
Unexecuted instantiation: fpu.c:fmap_unneed_off
Unexecuted instantiation: hashtab.c:fmap_unneed_off
Unexecuted instantiation: json_api.c:fmap_unneed_off
Unexecuted instantiation: table.c:fmap_unneed_off
Unexecuted instantiation: text.c:fmap_unneed_off
Unexecuted instantiation: uniq.c:fmap_unneed_off
Unexecuted instantiation: www.c:fmap_unneed_off
Unexecuted instantiation: filtering.c:fmap_unneed_off
Unexecuted instantiation: matcher-ac.c:fmap_unneed_off
Unexecuted instantiation: matcher-bm.c:fmap_unneed_off
Unexecuted instantiation: matcher-byte-comp.c:fmap_unneed_off
Unexecuted instantiation: matcher-hash.c:fmap_unneed_off
Unexecuted instantiation: matcher-pcre.c:fmap_unneed_off
Unexecuted instantiation: regex_pcre.c:fmap_unneed_off
Unexecuted instantiation: cvd.c:fmap_unneed_off
Unexecuted instantiation: dconf.c:fmap_unneed_off
Unexecuted instantiation: dsig.c:fmap_unneed_off
Unexecuted instantiation: partition_intersection.c:fmap_unneed_off
Unexecuted instantiation: hostid_internal.c:fmap_unneed_off
Unexecuted instantiation: stats_json.c:fmap_unneed_off
Unexecuted instantiation: bytecode_api_decl.c:fmap_unneed_off
Unexecuted instantiation: bytecode_api.c:fmap_unneed_off
Unexecuted instantiation: bytecode_detect.c:fmap_unneed_off
Unexecuted instantiation: bytecode_vm.c:fmap_unneed_off
Unexecuted instantiation: explode.c:fmap_unneed_off
Unexecuted instantiation: inflate64.c:fmap_unneed_off
Unexecuted instantiation: lzwdec.c:fmap_unneed_off
Unexecuted instantiation: bzlib.c:fmap_unneed_off
Unexecuted instantiation: pe_icons.c:fmap_unneed_off
Unexecuted instantiation: rebuildpe.c:fmap_unneed_off
Unexecuted instantiation: line.c:fmap_unneed_off
Unexecuted instantiation: adc.c:fmap_unneed_off
Unexecuted instantiation: 7zBuf.c:fmap_unneed_off
Unexecuted instantiation: 7zDec.c:fmap_unneed_off
Unexecuted instantiation: Bcj2.c:fmap_unneed_off
Unexecuted instantiation: Bra.c:fmap_unneed_off
Unexecuted instantiation: Bra86.c:fmap_unneed_off
Unexecuted instantiation: BraIA64.c:fmap_unneed_off
Unexecuted instantiation: Delta.c:fmap_unneed_off
Unexecuted instantiation: Lzma2Dec.c:fmap_unneed_off
Unexecuted instantiation: Ppmd7.c:fmap_unneed_off
Unexecuted instantiation: Ppmd7Dec.c:fmap_unneed_off
Unexecuted instantiation: Xz.c:fmap_unneed_off
Unexecuted instantiation: yara_exec.c:fmap_unneed_off
Unexecuted instantiation: yara_grammar.c:fmap_unneed_off
Unexecuted instantiation: disasm.c:fmap_unneed_off
Unexecuted instantiation: yara_parser.c:fmap_unneed_off
272
273
/**
274
 * @brief Release page locks for an fmap.
275
 *
276
 * You must call this after "needing" memory with fmap_need_ptr() or fmap_need_off() once
277
 * you're done accessing the data.
278
 *
279
 * @param m     The fmap.
280
 * @param ptr   A pointer into the fmap->data.
281
 * @param len   The data length requested.
282
 */
283
static inline void fmap_unneed_ptr(fmap_t *m, const void *ptr, size_t len)
284
76.7k
{
285
76.7k
    fmap_unneed_off(m, fmap_ptr2off(m, ptr), len);
286
76.7k
}
Unexecuted instantiation: others_common.c:fmap_unneed_ptr
Unexecuted instantiation: qsort.c:fmap_unneed_ptr
Unexecuted instantiation: str.c:fmap_unneed_ptr
Unexecuted instantiation: cache.c:fmap_unneed_ptr
Unexecuted instantiation: crtmgr.c:fmap_unneed_ptr
Unexecuted instantiation: crypto.c:fmap_unneed_ptr
Unexecuted instantiation: filetypes.c:fmap_unneed_ptr
Unexecuted instantiation: fmap.c:fmap_unneed_ptr
Unexecuted instantiation: others.c:fmap_unneed_ptr
Unexecuted instantiation: textdet.c:fmap_unneed_ptr
Unexecuted instantiation: htmlnorm.c:fmap_unneed_ptr
Unexecuted instantiation: js-norm.c:fmap_unneed_ptr
Unexecuted instantiation: textnorm.c:fmap_unneed_ptr
Unexecuted instantiation: special.c:fmap_unneed_ptr
Unexecuted instantiation: stats.c:fmap_unneed_ptr
Unexecuted instantiation: bytecode.c:fmap_unneed_ptr
Unexecuted instantiation: events.c:fmap_unneed_ptr
Unexecuted instantiation: 7z_iface.c:fmap_unneed_ptr
Unexecuted instantiation: lzma_iface.c:fmap_unneed_ptr
Unexecuted instantiation: xz_iface.c:fmap_unneed_ptr
Unexecuted instantiation: entconv.c:fmap_unneed_ptr
Unexecuted instantiation: dlp.c:fmap_unneed_ptr
Unexecuted instantiation: autoit.c:fmap_unneed_ptr
Unexecuted instantiation: binhex.c:fmap_unneed_ptr
Unexecuted instantiation: cpio.c:fmap_unneed_ptr
ishield.c:fmap_unneed_ptr
Line
Count
Source
284
95
{
285
95
    fmap_unneed_off(m, fmap_ptr2off(m, ptr), len);
286
95
}
Unexecuted instantiation: libmspack.c:fmap_unneed_ptr
Unexecuted instantiation: msexpand.c:fmap_unneed_ptr
Unexecuted instantiation: nulsft.c:fmap_unneed_ptr
Unexecuted instantiation: hwp.c:fmap_unneed_ptr
Unexecuted instantiation: msdoc.c:fmap_unneed_ptr
Unexecuted instantiation: msxml_parser.c:fmap_unneed_ptr
Unexecuted instantiation: msxml.c:fmap_unneed_ptr
Unexecuted instantiation: ole2_extract.c:fmap_unneed_ptr
Unexecuted instantiation: xlm_extract.c:fmap_unneed_ptr
Unexecuted instantiation: ooxml.c:fmap_unneed_ptr
Unexecuted instantiation: rtf.c:fmap_unneed_ptr
Unexecuted instantiation: vba_extract.c:fmap_unneed_ptr
Unexecuted instantiation: asn1.c:fmap_unneed_ptr
Unexecuted instantiation: elf.c:fmap_unneed_ptr
Unexecuted instantiation: macho.c:fmap_unneed_ptr
Unexecuted instantiation: pe.c:fmap_unneed_ptr
Unexecuted instantiation: aspack.c:fmap_unneed_ptr
Unexecuted instantiation: fsg.c:fmap_unneed_ptr
Unexecuted instantiation: mew.c:fmap_unneed_ptr
Unexecuted instantiation: packlibs.c:fmap_unneed_ptr
Unexecuted instantiation: petite.c:fmap_unneed_ptr
Unexecuted instantiation: spin.c:fmap_unneed_ptr
Unexecuted instantiation: unsp.c:fmap_unneed_ptr
Unexecuted instantiation: upack.c:fmap_unneed_ptr
Unexecuted instantiation: upx.c:fmap_unneed_ptr
Unexecuted instantiation: wwunpack.c:fmap_unneed_ptr
Unexecuted instantiation: yc.c:fmap_unneed_ptr
Unexecuted instantiation: mbox.c:fmap_unneed_ptr
Unexecuted instantiation: message.c:fmap_unneed_ptr
Unexecuted instantiation: phish_domaincheck_db.c:fmap_unneed_ptr
Unexecuted instantiation: phish_allow_list.c:fmap_unneed_ptr
Unexecuted instantiation: phishcheck.c:fmap_unneed_ptr
Unexecuted instantiation: regex_list.c:fmap_unneed_ptr
Unexecuted instantiation: regex_suffix.c:fmap_unneed_ptr
Unexecuted instantiation: sis.c:fmap_unneed_ptr
Unexecuted instantiation: tnef.c:fmap_unneed_ptr
Unexecuted instantiation: uuencode.c:fmap_unneed_ptr
Unexecuted instantiation: swf.c:fmap_unneed_ptr
Unexecuted instantiation: pdf.c:fmap_unneed_ptr
Unexecuted instantiation: pdfng.c:fmap_unneed_ptr
Unexecuted instantiation: pdfdecode.c:fmap_unneed_ptr
Unexecuted instantiation: xdp.c:fmap_unneed_ptr
Unexecuted instantiation: unarj.c:fmap_unneed_ptr
Unexecuted instantiation: is_tar.c:fmap_unneed_ptr
Unexecuted instantiation: untar.c:fmap_unneed_ptr
unzip.c:fmap_unneed_ptr
Line
Count
Source
284
59.9k
{
285
59.9k
    fmap_unneed_off(m, fmap_ptr2off(m, ptr), len);
286
59.9k
}
Unexecuted instantiation: dmg.c:fmap_unneed_ptr
Unexecuted instantiation: xar.c:fmap_unneed_ptr
Unexecuted instantiation: egg.c:fmap_unneed_ptr
Unexecuted instantiation: mbr.c:fmap_unneed_ptr
Unexecuted instantiation: gpt.c:fmap_unneed_ptr
Unexecuted instantiation: apm.c:fmap_unneed_ptr
Unexecuted instantiation: hfsplus.c:fmap_unneed_ptr
iso9660.c:fmap_unneed_ptr
Line
Count
Source
284
16.7k
{
285
16.7k
    fmap_unneed_off(m, fmap_ptr2off(m, ptr), len);
286
16.7k
}
Unexecuted instantiation: openioc.c:fmap_unneed_ptr
Unexecuted instantiation: jpeg.c:fmap_unneed_ptr
Unexecuted instantiation: png.c:fmap_unneed_ptr
Unexecuted instantiation: tiff.c:fmap_unneed_ptr
Unexecuted instantiation: gif.c:fmap_unneed_ptr
Unexecuted instantiation: udf.c:fmap_unneed_ptr
Unexecuted instantiation: regcomp.c:fmap_unneed_ptr
Unexecuted instantiation: regexec.c:fmap_unneed_ptr
Unexecuted instantiation: 7zCrc.c:fmap_unneed_ptr
Unexecuted instantiation: 7zIn.c:fmap_unneed_ptr
Unexecuted instantiation: 7zStream.c:fmap_unneed_ptr
Unexecuted instantiation: LzmaDec.c:fmap_unneed_ptr
Unexecuted instantiation: XzCrc64.c:fmap_unneed_ptr
Unexecuted instantiation: XzDec.c:fmap_unneed_ptr
Unexecuted instantiation: yara_compiler.c:fmap_unneed_ptr
Unexecuted instantiation: yara_hash.c:fmap_unneed_ptr
Unexecuted instantiation: yara_arena.c:fmap_unneed_ptr
Unexecuted instantiation: yara_lexer.c:fmap_unneed_ptr
Unexecuted instantiation: bytecode_nojit.c:fmap_unneed_ptr
Unexecuted instantiation: blob.c:fmap_unneed_ptr
Unexecuted instantiation: fpu.c:fmap_unneed_ptr
Unexecuted instantiation: hashtab.c:fmap_unneed_ptr
Unexecuted instantiation: json_api.c:fmap_unneed_ptr
Unexecuted instantiation: table.c:fmap_unneed_ptr
Unexecuted instantiation: text.c:fmap_unneed_ptr
Unexecuted instantiation: uniq.c:fmap_unneed_ptr
Unexecuted instantiation: www.c:fmap_unneed_ptr
Unexecuted instantiation: filtering.c:fmap_unneed_ptr
Unexecuted instantiation: matcher-ac.c:fmap_unneed_ptr
Unexecuted instantiation: matcher-bm.c:fmap_unneed_ptr
Unexecuted instantiation: matcher-byte-comp.c:fmap_unneed_ptr
Unexecuted instantiation: matcher-hash.c:fmap_unneed_ptr
Unexecuted instantiation: matcher-pcre.c:fmap_unneed_ptr
Unexecuted instantiation: regex_pcre.c:fmap_unneed_ptr
Unexecuted instantiation: cvd.c:fmap_unneed_ptr
Unexecuted instantiation: dconf.c:fmap_unneed_ptr
Unexecuted instantiation: dsig.c:fmap_unneed_ptr
Unexecuted instantiation: partition_intersection.c:fmap_unneed_ptr
Unexecuted instantiation: hostid_internal.c:fmap_unneed_ptr
Unexecuted instantiation: stats_json.c:fmap_unneed_ptr
Unexecuted instantiation: bytecode_api_decl.c:fmap_unneed_ptr
Unexecuted instantiation: bytecode_api.c:fmap_unneed_ptr
Unexecuted instantiation: bytecode_detect.c:fmap_unneed_ptr
Unexecuted instantiation: bytecode_vm.c:fmap_unneed_ptr
Unexecuted instantiation: explode.c:fmap_unneed_ptr
Unexecuted instantiation: inflate64.c:fmap_unneed_ptr
Unexecuted instantiation: lzwdec.c:fmap_unneed_ptr
Unexecuted instantiation: bzlib.c:fmap_unneed_ptr
Unexecuted instantiation: pe_icons.c:fmap_unneed_ptr
Unexecuted instantiation: rebuildpe.c:fmap_unneed_ptr
Unexecuted instantiation: line.c:fmap_unneed_ptr
Unexecuted instantiation: adc.c:fmap_unneed_ptr
Unexecuted instantiation: 7zBuf.c:fmap_unneed_ptr
Unexecuted instantiation: 7zDec.c:fmap_unneed_ptr
Unexecuted instantiation: Bcj2.c:fmap_unneed_ptr
Unexecuted instantiation: Bra.c:fmap_unneed_ptr
Unexecuted instantiation: Bra86.c:fmap_unneed_ptr
Unexecuted instantiation: BraIA64.c:fmap_unneed_ptr
Unexecuted instantiation: Delta.c:fmap_unneed_ptr
Unexecuted instantiation: Lzma2Dec.c:fmap_unneed_ptr
Unexecuted instantiation: Ppmd7.c:fmap_unneed_ptr
Unexecuted instantiation: Ppmd7Dec.c:fmap_unneed_ptr
Unexecuted instantiation: Xz.c:fmap_unneed_ptr
Unexecuted instantiation: yara_exec.c:fmap_unneed_ptr
Unexecuted instantiation: yara_grammar.c:fmap_unneed_ptr
Unexecuted instantiation: disasm.c:fmap_unneed_ptr
Unexecuted instantiation: yara_parser.c:fmap_unneed_ptr
287
288
/**
289
 * @brief Read bytes from fmap at offset into destination buffer.
290
 *
291
 * @param m         fmap
292
 * @param dst       destination buffer
293
 * @param at        offset into fmap
294
 * @param len       # of bytes to read
295
 * @return size_t   # of bytes read
296
 * @return size_t   (size_t)-1 if error
297
 */
298
static inline size_t fmap_readn(fmap_t *m, void *dst, size_t at, size_t len)
299
229M
{
300
229M
    const void *src;
301
302
229M
    if (at == m->len || !len)
303
356k
        return 0;
304
228M
    if (at > m->len)
305
6.03M
        return (size_t)-1;
306
222M
    if (len > m->len - at)
307
1.06M
        len = m->len - at;
308
222M
    src = fmap_need_off_once(m, at, len);
309
222M
    if (!src)
310
0
        return (size_t)-1;
311
222M
    memcpy(dst, src, len);
312
222M
    return (len <= INT_MAX) ? len : (size_t)-1;
313
222M
}
Unexecuted instantiation: others_common.c:fmap_readn
Unexecuted instantiation: qsort.c:fmap_readn
Unexecuted instantiation: str.c:fmap_readn
Unexecuted instantiation: cache.c:fmap_readn
Unexecuted instantiation: crtmgr.c:fmap_readn
Unexecuted instantiation: crypto.c:fmap_readn
Unexecuted instantiation: filetypes.c:fmap_readn
Unexecuted instantiation: fmap.c:fmap_readn
Unexecuted instantiation: others.c:fmap_readn
Unexecuted instantiation: textdet.c:fmap_readn
Unexecuted instantiation: htmlnorm.c:fmap_readn
Unexecuted instantiation: js-norm.c:fmap_readn
Unexecuted instantiation: textnorm.c:fmap_readn
Unexecuted instantiation: special.c:fmap_readn
Unexecuted instantiation: stats.c:fmap_readn
Unexecuted instantiation: bytecode.c:fmap_readn
Unexecuted instantiation: events.c:fmap_readn
7z_iface.c:fmap_readn
Line
Count
Source
299
1.21M
{
300
1.21M
    const void *src;
301
302
1.21M
    if (at == m->len || !len)
303
16.4k
        return 0;
304
1.19M
    if (at > m->len)
305
295
        return (size_t)-1;
306
1.19M
    if (len > m->len - at)
307
36.4k
        len = m->len - at;
308
1.19M
    src = fmap_need_off_once(m, at, len);
309
1.19M
    if (!src)
310
0
        return (size_t)-1;
311
1.19M
    memcpy(dst, src, len);
312
1.19M
    return (len <= INT_MAX) ? len : (size_t)-1;
313
1.19M
}
Unexecuted instantiation: lzma_iface.c:fmap_readn
Unexecuted instantiation: xz_iface.c:fmap_readn
Unexecuted instantiation: entconv.c:fmap_readn
Unexecuted instantiation: dlp.c:fmap_readn
Unexecuted instantiation: autoit.c:fmap_readn
Unexecuted instantiation: binhex.c:fmap_readn
cpio.c:fmap_readn
Line
Count
Source
299
184k
{
300
184k
    const void *src;
301
302
184k
    if (at == m->len || !len)
303
940
        return 0;
304
183k
    if (at > m->len)
305
20.5k
        return (size_t)-1;
306
162k
    if (len > m->len - at)
307
17.4k
        len = m->len - at;
308
162k
    src = fmap_need_off_once(m, at, len);
309
162k
    if (!src)
310
0
        return (size_t)-1;
311
162k
    memcpy(dst, src, len);
312
162k
    return (len <= INT_MAX) ? len : (size_t)-1;
313
162k
}
Unexecuted instantiation: ishield.c:fmap_readn
libmspack.c:fmap_readn
Line
Count
Source
299
37.1M
{
300
37.1M
    const void *src;
301
302
37.1M
    if (at == m->len || !len)
303
57.3k
        return 0;
304
37.1M
    if (at > m->len)
305
0
        return (size_t)-1;
306
37.1M
    if (len > m->len - at)
307
298k
        len = m->len - at;
308
37.1M
    src = fmap_need_off_once(m, at, len);
309
37.1M
    if (!src)
310
0
        return (size_t)-1;
311
37.1M
    memcpy(dst, src, len);
312
37.1M
    return (len <= INT_MAX) ? len : (size_t)-1;
313
37.1M
}
Unexecuted instantiation: msexpand.c:fmap_readn
Unexecuted instantiation: nulsft.c:fmap_readn
hwp.c:fmap_readn
Line
Count
Source
299
16.2M
{
300
16.2M
    const void *src;
301
302
16.2M
    if (at == m->len || !len)
303
4.49k
        return 0;
304
16.2M
    if (at > m->len)
305
2.04k
        return (size_t)-1;
306
16.2M
    if (len > m->len - at)
307
6.28k
        len = m->len - at;
308
16.2M
    src = fmap_need_off_once(m, at, len);
309
16.2M
    if (!src)
310
0
        return (size_t)-1;
311
16.2M
    memcpy(dst, src, len);
312
16.2M
    return (len <= INT_MAX) ? len : (size_t)-1;
313
16.2M
}
Unexecuted instantiation: msdoc.c:fmap_readn
Unexecuted instantiation: msxml_parser.c:fmap_readn
Unexecuted instantiation: msxml.c:fmap_readn
ole2_extract.c:fmap_readn
Line
Count
Source
299
135
{
300
135
    const void *src;
301
302
135
    if (at == m->len || !len)
303
8
        return 0;
304
127
    if (at > m->len)
305
0
        return (size_t)-1;
306
127
    if (len > m->len - at)
307
9
        len = m->len - at;
308
127
    src = fmap_need_off_once(m, at, len);
309
127
    if (!src)
310
0
        return (size_t)-1;
311
127
    memcpy(dst, src, len);
312
127
    return (len <= INT_MAX) ? len : (size_t)-1;
313
127
}
Unexecuted instantiation: xlm_extract.c:fmap_readn
Unexecuted instantiation: ooxml.c:fmap_readn
Unexecuted instantiation: rtf.c:fmap_readn
Unexecuted instantiation: vba_extract.c:fmap_readn
Unexecuted instantiation: asn1.c:fmap_readn
elf.c:fmap_readn
Line
Count
Source
299
1.59M
{
300
1.59M
    const void *src;
301
302
1.59M
    if (at == m->len || !len)
303
9.92k
        return 0;
304
1.58M
    if (at > m->len)
305
11.0k
        return (size_t)-1;
306
1.57M
    if (len > m->len - at)
307
34.0k
        len = m->len - at;
308
1.57M
    src = fmap_need_off_once(m, at, len);
309
1.57M
    if (!src)
310
0
        return (size_t)-1;
311
1.57M
    memcpy(dst, src, len);
312
1.57M
    return (len <= INT_MAX) ? len : (size_t)-1;
313
1.57M
}
macho.c:fmap_readn
Line
Count
Source
299
22.7M
{
300
22.7M
    const void *src;
301
302
22.7M
    if (at == m->len || !len)
303
34.7k
        return 0;
304
22.6M
    if (at > m->len)
305
25.7k
        return (size_t)-1;
306
22.6M
    if (len > m->len - at)
307
461k
        len = m->len - at;
308
22.6M
    src = fmap_need_off_once(m, at, len);
309
22.6M
    if (!src)
310
0
        return (size_t)-1;
311
22.6M
    memcpy(dst, src, len);
312
22.6M
    return (len <= INT_MAX) ? len : (size_t)-1;
313
22.6M
}
pe.c:fmap_readn
Line
Count
Source
299
11.9M
{
300
11.9M
    const void *src;
301
302
11.9M
    if (at == m->len || !len)
303
93.1k
        return 0;
304
11.8M
    if (at > m->len)
305
238k
        return (size_t)-1;
306
11.6M
    if (len > m->len - at)
307
60.9k
        len = m->len - at;
308
11.6M
    src = fmap_need_off_once(m, at, len);
309
11.6M
    if (!src)
310
0
        return (size_t)-1;
311
11.6M
    memcpy(dst, src, len);
312
11.6M
    return (len <= INT_MAX) ? len : (size_t)-1;
313
11.6M
}
Unexecuted instantiation: aspack.c:fmap_readn
Unexecuted instantiation: fsg.c:fmap_readn
Unexecuted instantiation: mew.c:fmap_readn
Unexecuted instantiation: packlibs.c:fmap_readn
Unexecuted instantiation: petite.c:fmap_readn
Unexecuted instantiation: spin.c:fmap_readn
Unexecuted instantiation: unsp.c:fmap_readn
Unexecuted instantiation: upack.c:fmap_readn
Unexecuted instantiation: upx.c:fmap_readn
Unexecuted instantiation: wwunpack.c:fmap_readn
Unexecuted instantiation: yc.c:fmap_readn
Unexecuted instantiation: mbox.c:fmap_readn
Unexecuted instantiation: message.c:fmap_readn
Unexecuted instantiation: phish_domaincheck_db.c:fmap_readn
Unexecuted instantiation: phish_allow_list.c:fmap_readn
Unexecuted instantiation: phishcheck.c:fmap_readn
Unexecuted instantiation: regex_list.c:fmap_readn
Unexecuted instantiation: regex_suffix.c:fmap_readn
sis.c:fmap_readn
Line
Count
Source
299
6.12M
{
300
6.12M
    const void *src;
301
302
6.12M
    if (at == m->len || !len)
303
9.68k
        return 0;
304
6.11M
    if (at > m->len)
305
5.68M
        return (size_t)-1;
306
428k
    if (len > m->len - at)
307
14.4k
        len = m->len - at;
308
428k
    src = fmap_need_off_once(m, at, len);
309
428k
    if (!src)
310
0
        return (size_t)-1;
311
428k
    memcpy(dst, src, len);
312
428k
    return (len <= INT_MAX) ? len : (size_t)-1;
313
428k
}
tnef.c:fmap_readn
Line
Count
Source
299
156k
{
300
156k
    const void *src;
301
302
156k
    if (at == m->len || !len)
303
8.30k
        return 0;
304
147k
    if (at > m->len)
305
9
        return (size_t)-1;
306
147k
    if (len > m->len - at)
307
14.4k
        len = m->len - at;
308
147k
    src = fmap_need_off_once(m, at, len);
309
147k
    if (!src)
310
0
        return (size_t)-1;
311
147k
    memcpy(dst, src, len);
312
147k
    return (len <= INT_MAX) ? len : (size_t)-1;
313
147k
}
Unexecuted instantiation: uuencode.c:fmap_readn
swf.c:fmap_readn
Line
Count
Source
299
248k
{
300
248k
    const void *src;
301
302
248k
    if (at == m->len || !len)
303
14.2k
        return 0;
304
234k
    if (at > m->len)
305
0
        return (size_t)-1;
306
234k
    if (len > m->len - at)
307
31.3k
        len = m->len - at;
308
234k
    src = fmap_need_off_once(m, at, len);
309
234k
    if (!src)
310
0
        return (size_t)-1;
311
234k
    memcpy(dst, src, len);
312
234k
    return (len <= INT_MAX) ? len : (size_t)-1;
313
234k
}
Unexecuted instantiation: pdf.c:fmap_readn
Unexecuted instantiation: pdfng.c:fmap_readn
Unexecuted instantiation: pdfdecode.c:fmap_readn
Unexecuted instantiation: xdp.c:fmap_readn
unarj.c:fmap_readn
Line
Count
Source
299
7.53M
{
300
7.53M
    const void *src;
301
302
7.53M
    if (at == m->len || !len)
303
977
        return 0;
304
7.53M
    if (at > m->len)
305
0
        return (size_t)-1;
306
7.53M
    if (len > m->len - at)
307
8.07k
        len = m->len - at;
308
7.53M
    src = fmap_need_off_once(m, at, len);
309
7.53M
    if (!src)
310
0
        return (size_t)-1;
311
7.53M
    memcpy(dst, src, len);
312
7.53M
    return (len <= INT_MAX) ? len : (size_t)-1;
313
7.53M
}
Unexecuted instantiation: is_tar.c:fmap_readn
Unexecuted instantiation: untar.c:fmap_readn
Unexecuted instantiation: unzip.c:fmap_readn
dmg.c:fmap_readn
Line
Count
Source
299
4.21k
{
300
4.21k
    const void *src;
301
302
4.21k
    if (at == m->len || !len)
303
0
        return 0;
304
4.21k
    if (at > m->len)
305
0
        return (size_t)-1;
306
4.21k
    if (len > m->len - at)
307
0
        len = m->len - at;
308
4.21k
    src = fmap_need_off_once(m, at, len);
309
4.21k
    if (!src)
310
0
        return (size_t)-1;
311
4.21k
    memcpy(dst, src, len);
312
4.21k
    return (len <= INT_MAX) ? len : (size_t)-1;
313
4.21k
}
xar.c:fmap_readn
Line
Count
Source
299
2.54k
{
300
2.54k
    const void *src;
301
302
2.54k
    if (at == m->len || !len)
303
0
        return 0;
304
2.54k
    if (at > m->len)
305
0
        return (size_t)-1;
306
2.54k
    if (len > m->len - at)
307
349
        len = m->len - at;
308
2.54k
    src = fmap_need_off_once(m, at, len);
309
2.54k
    if (!src)
310
0
        return (size_t)-1;
311
2.54k
    memcpy(dst, src, len);
312
2.54k
    return (len <= INT_MAX) ? len : (size_t)-1;
313
2.54k
}
Unexecuted instantiation: egg.c:fmap_readn
mbr.c:fmap_readn
Line
Count
Source
299
30
{
300
30
    const void *src;
301
302
30
    if (at == m->len || !len)
303
0
        return 0;
304
30
    if (at > m->len)
305
0
        return (size_t)-1;
306
30
    if (len > m->len - at)
307
0
        len = m->len - at;
308
30
    src = fmap_need_off_once(m, at, len);
309
30
    if (!src)
310
0
        return (size_t)-1;
311
30
    memcpy(dst, src, len);
312
30
    return (len <= INT_MAX) ? len : (size_t)-1;
313
30
}
gpt.c:fmap_readn
Line
Count
Source
299
105
{
300
105
    const void *src;
301
302
105
    if (at == m->len || !len)
303
0
        return 0;
304
105
    if (at > m->len)
305
0
        return (size_t)-1;
306
105
    if (len > m->len - at)
307
0
        len = m->len - at;
308
105
    src = fmap_need_off_once(m, at, len);
309
105
    if (!src)
310
0
        return (size_t)-1;
311
105
    memcpy(dst, src, len);
312
105
    return (len <= INT_MAX) ? len : (size_t)-1;
313
105
}
apm.c:fmap_readn
Line
Count
Source
299
3
{
300
3
    const void *src;
301
302
3
    if (at == m->len || !len)
303
0
        return 0;
304
3
    if (at > m->len)
305
0
        return (size_t)-1;
306
3
    if (len > m->len - at)
307
0
        len = m->len - at;
308
3
    src = fmap_need_off_once(m, at, len);
309
3
    if (!src)
310
0
        return (size_t)-1;
311
3
    memcpy(dst, src, len);
312
3
    return (len <= INT_MAX) ? len : (size_t)-1;
313
3
}
Unexecuted instantiation: hfsplus.c:fmap_readn
Unexecuted instantiation: iso9660.c:fmap_readn
Unexecuted instantiation: openioc.c:fmap_readn
jpeg.c:fmap_readn
Line
Count
Source
299
108M
{
300
108M
    const void *src;
301
302
108M
    if (at == m->len || !len)
303
62.1k
        return 0;
304
108M
    if (at > m->len)
305
18.7k
        return (size_t)-1;
306
108M
    if (len > m->len - at)
307
39.6k
        len = m->len - at;
308
108M
    src = fmap_need_off_once(m, at, len);
309
108M
    if (!src)
310
0
        return (size_t)-1;
311
108M
    memcpy(dst, src, len);
312
108M
    return (len <= INT_MAX) ? len : (size_t)-1;
313
108M
}
png.c:fmap_readn
Line
Count
Source
299
2.45M
{
300
2.45M
    const void *src;
301
302
2.45M
    if (at == m->len || !len)
303
15.5k
        return 0;
304
2.43M
    if (at > m->len)
305
2.49k
        return (size_t)-1;
306
2.43M
    if (len > m->len - at)
307
16.5k
        len = m->len - at;
308
2.43M
    src = fmap_need_off_once(m, at, len);
309
2.43M
    if (!src)
310
0
        return (size_t)-1;
311
2.43M
    memcpy(dst, src, len);
312
2.43M
    return (len <= INT_MAX) ? len : (size_t)-1;
313
2.43M
}
tiff.c:fmap_readn
Line
Count
Source
299
7.41M
{
300
7.41M
    const void *src;
301
302
7.41M
    if (at == m->len || !len)
303
7.31k
        return 0;
304
7.40M
    if (at > m->len)
305
22.0k
        return (size_t)-1;
306
7.38M
    if (len > m->len - at)
307
17.9k
        len = m->len - at;
308
7.38M
    src = fmap_need_off_once(m, at, len);
309
7.38M
    if (!src)
310
0
        return (size_t)-1;
311
7.38M
    memcpy(dst, src, len);
312
7.38M
    return (len <= INT_MAX) ? len : (size_t)-1;
313
7.38M
}
gif.c:fmap_readn
Line
Count
Source
299
5.96M
{
300
5.96M
    const void *src;
301
302
5.96M
    if (at == m->len || !len)
303
21.6k
        return 0;
304
5.94M
    if (at > m->len)
305
3.51k
        return (size_t)-1;
306
5.93M
    if (len > m->len - at)
307
5.99k
        len = m->len - at;
308
5.93M
    src = fmap_need_off_once(m, at, len);
309
5.93M
    if (!src)
310
0
        return (size_t)-1;
311
5.93M
    memcpy(dst, src, len);
312
5.93M
    return (len <= INT_MAX) ? len : (size_t)-1;
313
5.93M
}
Unexecuted instantiation: udf.c:fmap_readn
Unexecuted instantiation: regcomp.c:fmap_readn
Unexecuted instantiation: regexec.c:fmap_readn
Unexecuted instantiation: 7zCrc.c:fmap_readn
Unexecuted instantiation: 7zIn.c:fmap_readn
Unexecuted instantiation: 7zStream.c:fmap_readn
Unexecuted instantiation: LzmaDec.c:fmap_readn
Unexecuted instantiation: XzCrc64.c:fmap_readn
Unexecuted instantiation: XzDec.c:fmap_readn
Unexecuted instantiation: yara_compiler.c:fmap_readn
Unexecuted instantiation: yara_hash.c:fmap_readn
Unexecuted instantiation: yara_arena.c:fmap_readn
Unexecuted instantiation: yara_lexer.c:fmap_readn
Unexecuted instantiation: bytecode_nojit.c:fmap_readn
Unexecuted instantiation: blob.c:fmap_readn
Unexecuted instantiation: fpu.c:fmap_readn
Unexecuted instantiation: hashtab.c:fmap_readn
Unexecuted instantiation: json_api.c:fmap_readn
Unexecuted instantiation: table.c:fmap_readn
Unexecuted instantiation: text.c:fmap_readn
Unexecuted instantiation: uniq.c:fmap_readn
Unexecuted instantiation: www.c:fmap_readn
Unexecuted instantiation: filtering.c:fmap_readn
Unexecuted instantiation: matcher-ac.c:fmap_readn
Unexecuted instantiation: matcher-bm.c:fmap_readn
Unexecuted instantiation: matcher-byte-comp.c:fmap_readn
Unexecuted instantiation: matcher-hash.c:fmap_readn
Unexecuted instantiation: matcher-pcre.c:fmap_readn
Unexecuted instantiation: regex_pcre.c:fmap_readn
Unexecuted instantiation: cvd.c:fmap_readn
Unexecuted instantiation: dconf.c:fmap_readn
Unexecuted instantiation: dsig.c:fmap_readn
Unexecuted instantiation: partition_intersection.c:fmap_readn
Unexecuted instantiation: hostid_internal.c:fmap_readn
Unexecuted instantiation: stats_json.c:fmap_readn
Unexecuted instantiation: bytecode_api_decl.c:fmap_readn
Unexecuted instantiation: bytecode_api.c:fmap_readn
Unexecuted instantiation: bytecode_detect.c:fmap_readn
Unexecuted instantiation: bytecode_vm.c:fmap_readn
Unexecuted instantiation: explode.c:fmap_readn
Unexecuted instantiation: inflate64.c:fmap_readn
Unexecuted instantiation: lzwdec.c:fmap_readn
Unexecuted instantiation: bzlib.c:fmap_readn
Unexecuted instantiation: pe_icons.c:fmap_readn
Unexecuted instantiation: rebuildpe.c:fmap_readn
Unexecuted instantiation: line.c:fmap_readn
Unexecuted instantiation: adc.c:fmap_readn
Unexecuted instantiation: 7zBuf.c:fmap_readn
Unexecuted instantiation: 7zDec.c:fmap_readn
Unexecuted instantiation: Bcj2.c:fmap_readn
Unexecuted instantiation: Bra.c:fmap_readn
Unexecuted instantiation: Bra86.c:fmap_readn
Unexecuted instantiation: BraIA64.c:fmap_readn
Unexecuted instantiation: Delta.c:fmap_readn
Unexecuted instantiation: Lzma2Dec.c:fmap_readn
Unexecuted instantiation: Ppmd7.c:fmap_readn
Unexecuted instantiation: Ppmd7Dec.c:fmap_readn
Unexecuted instantiation: Xz.c:fmap_readn
Unexecuted instantiation: yara_exec.c:fmap_readn
Unexecuted instantiation: yara_grammar.c:fmap_readn
Unexecuted instantiation: disasm.c:fmap_readn
Unexecuted instantiation: yara_parser.c:fmap_readn
314
315
/**
316
 * @brief Given a pointer into the map data, return that pointer if there is a NULL terminator
317
 *        between ptr and the len_hint.
318
 *
319
 * Like fmap_need_offstr, but takes a pointer into the map data instead of an offset.
320
 *
321
 * @param m         The fmap.
322
 * @param ptr       pointer to the start of string.
323
 * @param len_hint  max length of string. if 0, will use rest of map as max string length.
324
 * @return const void* pointer of string, or NULL if no NULL terminator found.
325
 */
326
static inline const void *fmap_need_str(fmap_t *m, const void *ptr, size_t len_hint)
327
0
{
328
0
    return m->need_offstr(m, fmap_ptr2off(m, ptr), len_hint);
329
0
}
Unexecuted instantiation: others_common.c:fmap_need_str
Unexecuted instantiation: qsort.c:fmap_need_str
Unexecuted instantiation: str.c:fmap_need_str
Unexecuted instantiation: cache.c:fmap_need_str
Unexecuted instantiation: crtmgr.c:fmap_need_str
Unexecuted instantiation: crypto.c:fmap_need_str
Unexecuted instantiation: filetypes.c:fmap_need_str
Unexecuted instantiation: fmap.c:fmap_need_str
Unexecuted instantiation: others.c:fmap_need_str
Unexecuted instantiation: textdet.c:fmap_need_str
Unexecuted instantiation: htmlnorm.c:fmap_need_str
Unexecuted instantiation: js-norm.c:fmap_need_str
Unexecuted instantiation: textnorm.c:fmap_need_str
Unexecuted instantiation: special.c:fmap_need_str
Unexecuted instantiation: stats.c:fmap_need_str
Unexecuted instantiation: bytecode.c:fmap_need_str
Unexecuted instantiation: events.c:fmap_need_str
Unexecuted instantiation: 7z_iface.c:fmap_need_str
Unexecuted instantiation: lzma_iface.c:fmap_need_str
Unexecuted instantiation: xz_iface.c:fmap_need_str
Unexecuted instantiation: entconv.c:fmap_need_str
Unexecuted instantiation: dlp.c:fmap_need_str
Unexecuted instantiation: autoit.c:fmap_need_str
Unexecuted instantiation: binhex.c:fmap_need_str
Unexecuted instantiation: cpio.c:fmap_need_str
Unexecuted instantiation: ishield.c:fmap_need_str
Unexecuted instantiation: libmspack.c:fmap_need_str
Unexecuted instantiation: msexpand.c:fmap_need_str
Unexecuted instantiation: nulsft.c:fmap_need_str
Unexecuted instantiation: hwp.c:fmap_need_str
Unexecuted instantiation: msdoc.c:fmap_need_str
Unexecuted instantiation: msxml_parser.c:fmap_need_str
Unexecuted instantiation: msxml.c:fmap_need_str
Unexecuted instantiation: ole2_extract.c:fmap_need_str
Unexecuted instantiation: xlm_extract.c:fmap_need_str
Unexecuted instantiation: ooxml.c:fmap_need_str
Unexecuted instantiation: rtf.c:fmap_need_str
Unexecuted instantiation: vba_extract.c:fmap_need_str
Unexecuted instantiation: asn1.c:fmap_need_str
Unexecuted instantiation: elf.c:fmap_need_str
Unexecuted instantiation: macho.c:fmap_need_str
Unexecuted instantiation: pe.c:fmap_need_str
Unexecuted instantiation: aspack.c:fmap_need_str
Unexecuted instantiation: fsg.c:fmap_need_str
Unexecuted instantiation: mew.c:fmap_need_str
Unexecuted instantiation: packlibs.c:fmap_need_str
Unexecuted instantiation: petite.c:fmap_need_str
Unexecuted instantiation: spin.c:fmap_need_str
Unexecuted instantiation: unsp.c:fmap_need_str
Unexecuted instantiation: upack.c:fmap_need_str
Unexecuted instantiation: upx.c:fmap_need_str
Unexecuted instantiation: wwunpack.c:fmap_need_str
Unexecuted instantiation: yc.c:fmap_need_str
Unexecuted instantiation: mbox.c:fmap_need_str
Unexecuted instantiation: message.c:fmap_need_str
Unexecuted instantiation: phish_domaincheck_db.c:fmap_need_str
Unexecuted instantiation: phish_allow_list.c:fmap_need_str
Unexecuted instantiation: phishcheck.c:fmap_need_str
Unexecuted instantiation: regex_list.c:fmap_need_str
Unexecuted instantiation: regex_suffix.c:fmap_need_str
Unexecuted instantiation: sis.c:fmap_need_str
Unexecuted instantiation: tnef.c:fmap_need_str
Unexecuted instantiation: uuencode.c:fmap_need_str
Unexecuted instantiation: swf.c:fmap_need_str
Unexecuted instantiation: pdf.c:fmap_need_str
Unexecuted instantiation: pdfng.c:fmap_need_str
Unexecuted instantiation: pdfdecode.c:fmap_need_str
Unexecuted instantiation: xdp.c:fmap_need_str
Unexecuted instantiation: unarj.c:fmap_need_str
Unexecuted instantiation: is_tar.c:fmap_need_str
Unexecuted instantiation: untar.c:fmap_need_str
Unexecuted instantiation: unzip.c:fmap_need_str
Unexecuted instantiation: dmg.c:fmap_need_str
Unexecuted instantiation: xar.c:fmap_need_str
Unexecuted instantiation: egg.c:fmap_need_str
Unexecuted instantiation: mbr.c:fmap_need_str
Unexecuted instantiation: gpt.c:fmap_need_str
Unexecuted instantiation: apm.c:fmap_need_str
Unexecuted instantiation: hfsplus.c:fmap_need_str
Unexecuted instantiation: iso9660.c:fmap_need_str
Unexecuted instantiation: openioc.c:fmap_need_str
Unexecuted instantiation: jpeg.c:fmap_need_str
Unexecuted instantiation: png.c:fmap_need_str
Unexecuted instantiation: tiff.c:fmap_need_str
Unexecuted instantiation: gif.c:fmap_need_str
Unexecuted instantiation: udf.c:fmap_need_str
Unexecuted instantiation: regcomp.c:fmap_need_str
Unexecuted instantiation: regexec.c:fmap_need_str
Unexecuted instantiation: 7zCrc.c:fmap_need_str
Unexecuted instantiation: 7zIn.c:fmap_need_str
Unexecuted instantiation: 7zStream.c:fmap_need_str
Unexecuted instantiation: LzmaDec.c:fmap_need_str
Unexecuted instantiation: XzCrc64.c:fmap_need_str
Unexecuted instantiation: XzDec.c:fmap_need_str
Unexecuted instantiation: yara_compiler.c:fmap_need_str
Unexecuted instantiation: yara_hash.c:fmap_need_str
Unexecuted instantiation: yara_arena.c:fmap_need_str
Unexecuted instantiation: yara_lexer.c:fmap_need_str
Unexecuted instantiation: bytecode_nojit.c:fmap_need_str
Unexecuted instantiation: blob.c:fmap_need_str
Unexecuted instantiation: fpu.c:fmap_need_str
Unexecuted instantiation: hashtab.c:fmap_need_str
Unexecuted instantiation: json_api.c:fmap_need_str
Unexecuted instantiation: table.c:fmap_need_str
Unexecuted instantiation: text.c:fmap_need_str
Unexecuted instantiation: uniq.c:fmap_need_str
Unexecuted instantiation: www.c:fmap_need_str
Unexecuted instantiation: filtering.c:fmap_need_str
Unexecuted instantiation: matcher-ac.c:fmap_need_str
Unexecuted instantiation: matcher-bm.c:fmap_need_str
Unexecuted instantiation: matcher-byte-comp.c:fmap_need_str
Unexecuted instantiation: matcher-hash.c:fmap_need_str
Unexecuted instantiation: matcher-pcre.c:fmap_need_str
Unexecuted instantiation: regex_pcre.c:fmap_need_str
Unexecuted instantiation: cvd.c:fmap_need_str
Unexecuted instantiation: dconf.c:fmap_need_str
Unexecuted instantiation: dsig.c:fmap_need_str
Unexecuted instantiation: partition_intersection.c:fmap_need_str
Unexecuted instantiation: hostid_internal.c:fmap_need_str
Unexecuted instantiation: stats_json.c:fmap_need_str
Unexecuted instantiation: bytecode_api_decl.c:fmap_need_str
Unexecuted instantiation: bytecode_api.c:fmap_need_str
Unexecuted instantiation: bytecode_detect.c:fmap_need_str
Unexecuted instantiation: bytecode_vm.c:fmap_need_str
Unexecuted instantiation: explode.c:fmap_need_str
Unexecuted instantiation: inflate64.c:fmap_need_str
Unexecuted instantiation: lzwdec.c:fmap_need_str
Unexecuted instantiation: bzlib.c:fmap_need_str
Unexecuted instantiation: pe_icons.c:fmap_need_str
Unexecuted instantiation: rebuildpe.c:fmap_need_str
Unexecuted instantiation: line.c:fmap_need_str
Unexecuted instantiation: adc.c:fmap_need_str
Unexecuted instantiation: 7zBuf.c:fmap_need_str
Unexecuted instantiation: 7zDec.c:fmap_need_str
Unexecuted instantiation: Bcj2.c:fmap_need_str
Unexecuted instantiation: Bra.c:fmap_need_str
Unexecuted instantiation: Bra86.c:fmap_need_str
Unexecuted instantiation: BraIA64.c:fmap_need_str
Unexecuted instantiation: Delta.c:fmap_need_str
Unexecuted instantiation: Lzma2Dec.c:fmap_need_str
Unexecuted instantiation: Ppmd7.c:fmap_need_str
Unexecuted instantiation: Ppmd7Dec.c:fmap_need_str
Unexecuted instantiation: Xz.c:fmap_need_str
Unexecuted instantiation: yara_exec.c:fmap_need_str
Unexecuted instantiation: yara_grammar.c:fmap_need_str
Unexecuted instantiation: disasm.c:fmap_need_str
Unexecuted instantiation: yara_parser.c:fmap_need_str
330
331
/**
332
 * @brief Return a pointer at the given offset into an fmap iff there is a
333
 *        null terminator between `at` and `len_hint` or the end of the map.
334
 *        if `len_hint` is 0.
335
 *
336
 * @param m         The fmap.
337
 * @param at        offset of the start of string.
338
 * @param len_hint  max length of string. if 0, will use rest of map as max string length.
339
 * @return const void* pointer of string, or NULL if no NULL terminator found.
340
 */
341
static inline const void *fmap_need_offstr(fmap_t *m, size_t at, size_t len_hint)
342
7.09M
{
343
7.09M
    return m->need_offstr(m, at, len_hint);
344
7.09M
}
Unexecuted instantiation: others_common.c:fmap_need_offstr
Unexecuted instantiation: qsort.c:fmap_need_offstr
Unexecuted instantiation: str.c:fmap_need_offstr
Unexecuted instantiation: cache.c:fmap_need_offstr
Unexecuted instantiation: crtmgr.c:fmap_need_offstr
Unexecuted instantiation: crypto.c:fmap_need_offstr
Unexecuted instantiation: filetypes.c:fmap_need_offstr
Unexecuted instantiation: fmap.c:fmap_need_offstr
Unexecuted instantiation: others.c:fmap_need_offstr
Unexecuted instantiation: textdet.c:fmap_need_offstr
Unexecuted instantiation: htmlnorm.c:fmap_need_offstr
Unexecuted instantiation: js-norm.c:fmap_need_offstr
Unexecuted instantiation: textnorm.c:fmap_need_offstr
Unexecuted instantiation: special.c:fmap_need_offstr
Unexecuted instantiation: stats.c:fmap_need_offstr
Unexecuted instantiation: bytecode.c:fmap_need_offstr
Unexecuted instantiation: events.c:fmap_need_offstr
Unexecuted instantiation: 7z_iface.c:fmap_need_offstr
Unexecuted instantiation: lzma_iface.c:fmap_need_offstr
Unexecuted instantiation: xz_iface.c:fmap_need_offstr
Unexecuted instantiation: entconv.c:fmap_need_offstr
Unexecuted instantiation: dlp.c:fmap_need_offstr
Unexecuted instantiation: autoit.c:fmap_need_offstr
Unexecuted instantiation: binhex.c:fmap_need_offstr
Unexecuted instantiation: cpio.c:fmap_need_offstr
ishield.c:fmap_need_offstr
Line
Count
Source
342
39.3k
{
343
39.3k
    return m->need_offstr(m, at, len_hint);
344
39.3k
}
Unexecuted instantiation: libmspack.c:fmap_need_offstr
Unexecuted instantiation: msexpand.c:fmap_need_offstr
Unexecuted instantiation: nulsft.c:fmap_need_offstr
Unexecuted instantiation: hwp.c:fmap_need_offstr
Unexecuted instantiation: msdoc.c:fmap_need_offstr
Unexecuted instantiation: msxml_parser.c:fmap_need_offstr
Unexecuted instantiation: msxml.c:fmap_need_offstr
Unexecuted instantiation: ole2_extract.c:fmap_need_offstr
Unexecuted instantiation: xlm_extract.c:fmap_need_offstr
Unexecuted instantiation: ooxml.c:fmap_need_offstr
Unexecuted instantiation: rtf.c:fmap_need_offstr
Unexecuted instantiation: vba_extract.c:fmap_need_offstr
Unexecuted instantiation: asn1.c:fmap_need_offstr
Unexecuted instantiation: elf.c:fmap_need_offstr
Unexecuted instantiation: macho.c:fmap_need_offstr
Unexecuted instantiation: pe.c:fmap_need_offstr
Unexecuted instantiation: aspack.c:fmap_need_offstr
Unexecuted instantiation: fsg.c:fmap_need_offstr
Unexecuted instantiation: mew.c:fmap_need_offstr
Unexecuted instantiation: packlibs.c:fmap_need_offstr
Unexecuted instantiation: petite.c:fmap_need_offstr
Unexecuted instantiation: spin.c:fmap_need_offstr
Unexecuted instantiation: unsp.c:fmap_need_offstr
Unexecuted instantiation: upack.c:fmap_need_offstr
Unexecuted instantiation: upx.c:fmap_need_offstr
Unexecuted instantiation: wwunpack.c:fmap_need_offstr
Unexecuted instantiation: yc.c:fmap_need_offstr
Unexecuted instantiation: mbox.c:fmap_need_offstr
Unexecuted instantiation: message.c:fmap_need_offstr
Unexecuted instantiation: phish_domaincheck_db.c:fmap_need_offstr
Unexecuted instantiation: phish_allow_list.c:fmap_need_offstr
Unexecuted instantiation: phishcheck.c:fmap_need_offstr
Unexecuted instantiation: regex_list.c:fmap_need_offstr
Unexecuted instantiation: regex_suffix.c:fmap_need_offstr
Unexecuted instantiation: sis.c:fmap_need_offstr
Unexecuted instantiation: tnef.c:fmap_need_offstr
Unexecuted instantiation: uuencode.c:fmap_need_offstr
Unexecuted instantiation: swf.c:fmap_need_offstr
Unexecuted instantiation: pdf.c:fmap_need_offstr
Unexecuted instantiation: pdfng.c:fmap_need_offstr
Unexecuted instantiation: pdfdecode.c:fmap_need_offstr
Unexecuted instantiation: xdp.c:fmap_need_offstr
unarj.c:fmap_need_offstr
Line
Count
Source
342
7.05M
{
343
7.05M
    return m->need_offstr(m, at, len_hint);
344
7.05M
}
Unexecuted instantiation: is_tar.c:fmap_need_offstr
Unexecuted instantiation: untar.c:fmap_need_offstr
Unexecuted instantiation: unzip.c:fmap_need_offstr
Unexecuted instantiation: dmg.c:fmap_need_offstr
Unexecuted instantiation: xar.c:fmap_need_offstr
Unexecuted instantiation: egg.c:fmap_need_offstr
Unexecuted instantiation: mbr.c:fmap_need_offstr
Unexecuted instantiation: gpt.c:fmap_need_offstr
Unexecuted instantiation: apm.c:fmap_need_offstr
Unexecuted instantiation: hfsplus.c:fmap_need_offstr
Unexecuted instantiation: iso9660.c:fmap_need_offstr
Unexecuted instantiation: openioc.c:fmap_need_offstr
Unexecuted instantiation: jpeg.c:fmap_need_offstr
Unexecuted instantiation: png.c:fmap_need_offstr
Unexecuted instantiation: tiff.c:fmap_need_offstr
Unexecuted instantiation: gif.c:fmap_need_offstr
Unexecuted instantiation: udf.c:fmap_need_offstr
Unexecuted instantiation: regcomp.c:fmap_need_offstr
Unexecuted instantiation: regexec.c:fmap_need_offstr
Unexecuted instantiation: 7zCrc.c:fmap_need_offstr
Unexecuted instantiation: 7zIn.c:fmap_need_offstr
Unexecuted instantiation: 7zStream.c:fmap_need_offstr
Unexecuted instantiation: LzmaDec.c:fmap_need_offstr
Unexecuted instantiation: XzCrc64.c:fmap_need_offstr
Unexecuted instantiation: XzDec.c:fmap_need_offstr
Unexecuted instantiation: yara_compiler.c:fmap_need_offstr
Unexecuted instantiation: yara_hash.c:fmap_need_offstr
Unexecuted instantiation: yara_arena.c:fmap_need_offstr
Unexecuted instantiation: yara_lexer.c:fmap_need_offstr
Unexecuted instantiation: bytecode_nojit.c:fmap_need_offstr
Unexecuted instantiation: blob.c:fmap_need_offstr
Unexecuted instantiation: fpu.c:fmap_need_offstr
Unexecuted instantiation: hashtab.c:fmap_need_offstr
Unexecuted instantiation: json_api.c:fmap_need_offstr
Unexecuted instantiation: table.c:fmap_need_offstr
Unexecuted instantiation: text.c:fmap_need_offstr
Unexecuted instantiation: uniq.c:fmap_need_offstr
Unexecuted instantiation: www.c:fmap_need_offstr
Unexecuted instantiation: filtering.c:fmap_need_offstr
Unexecuted instantiation: matcher-ac.c:fmap_need_offstr
Unexecuted instantiation: matcher-bm.c:fmap_need_offstr
Unexecuted instantiation: matcher-byte-comp.c:fmap_need_offstr
Unexecuted instantiation: matcher-hash.c:fmap_need_offstr
Unexecuted instantiation: matcher-pcre.c:fmap_need_offstr
Unexecuted instantiation: regex_pcre.c:fmap_need_offstr
Unexecuted instantiation: cvd.c:fmap_need_offstr
Unexecuted instantiation: dconf.c:fmap_need_offstr
Unexecuted instantiation: dsig.c:fmap_need_offstr
Unexecuted instantiation: partition_intersection.c:fmap_need_offstr
Unexecuted instantiation: hostid_internal.c:fmap_need_offstr
Unexecuted instantiation: stats_json.c:fmap_need_offstr
Unexecuted instantiation: bytecode_api_decl.c:fmap_need_offstr
Unexecuted instantiation: bytecode_api.c:fmap_need_offstr
Unexecuted instantiation: bytecode_detect.c:fmap_need_offstr
Unexecuted instantiation: bytecode_vm.c:fmap_need_offstr
Unexecuted instantiation: explode.c:fmap_need_offstr
Unexecuted instantiation: inflate64.c:fmap_need_offstr
Unexecuted instantiation: lzwdec.c:fmap_need_offstr
Unexecuted instantiation: bzlib.c:fmap_need_offstr
Unexecuted instantiation: pe_icons.c:fmap_need_offstr
Unexecuted instantiation: rebuildpe.c:fmap_need_offstr
Unexecuted instantiation: line.c:fmap_need_offstr
Unexecuted instantiation: adc.c:fmap_need_offstr
Unexecuted instantiation: 7zBuf.c:fmap_need_offstr
Unexecuted instantiation: 7zDec.c:fmap_need_offstr
Unexecuted instantiation: Bcj2.c:fmap_need_offstr
Unexecuted instantiation: Bra.c:fmap_need_offstr
Unexecuted instantiation: Bra86.c:fmap_need_offstr
Unexecuted instantiation: BraIA64.c:fmap_need_offstr
Unexecuted instantiation: Delta.c:fmap_need_offstr
Unexecuted instantiation: Lzma2Dec.c:fmap_need_offstr
Unexecuted instantiation: Ppmd7.c:fmap_need_offstr
Unexecuted instantiation: Ppmd7Dec.c:fmap_need_offstr
Unexecuted instantiation: Xz.c:fmap_need_offstr
Unexecuted instantiation: yara_exec.c:fmap_need_offstr
Unexecuted instantiation: yara_grammar.c:fmap_need_offstr
Unexecuted instantiation: disasm.c:fmap_need_offstr
Unexecuted instantiation: yara_parser.c:fmap_need_offstr
345
346
/**
347
 * @brief Read a string into `dst`, stopping at a newline or at EOF.
348
 *
349
 * Kind of like `fgets()`, but for fmaps, and slightly better in that `at` is in/out,
350
 * giving you the offset in the fmap after the end of the read.
351
 *
352
 * Will null-terminate the string read into dst.
353
 *
354
 * @param m             The fmap.
355
 * @param dst           A destination buffer.
356
 * @param[in,out] at    In: Offset in the map to read from. Out: Offset after the read.
357
 * @param max_len       Max size to read (aka no bigger than the size of the dst buffer).
358
 * @return const void*  Returns `dst` on success, else NULL.
359
 */
360
static inline const void *fmap_gets(fmap_t *m, char *dst, size_t *at, size_t max_len)
361
5.98M
{
362
5.98M
    return m->gets(m, dst, at, max_len);
363
5.98M
}
Unexecuted instantiation: others_common.c:fmap_gets
Unexecuted instantiation: qsort.c:fmap_gets
Unexecuted instantiation: str.c:fmap_gets
Unexecuted instantiation: cache.c:fmap_gets
Unexecuted instantiation: crtmgr.c:fmap_gets
Unexecuted instantiation: crypto.c:fmap_gets
Unexecuted instantiation: filetypes.c:fmap_gets
Unexecuted instantiation: fmap.c:fmap_gets
Unexecuted instantiation: others.c:fmap_gets
Unexecuted instantiation: textdet.c:fmap_gets
Unexecuted instantiation: htmlnorm.c:fmap_gets
Unexecuted instantiation: js-norm.c:fmap_gets
Unexecuted instantiation: textnorm.c:fmap_gets
Unexecuted instantiation: special.c:fmap_gets
Unexecuted instantiation: stats.c:fmap_gets
Unexecuted instantiation: bytecode.c:fmap_gets
Unexecuted instantiation: events.c:fmap_gets
Unexecuted instantiation: 7z_iface.c:fmap_gets
Unexecuted instantiation: lzma_iface.c:fmap_gets
Unexecuted instantiation: xz_iface.c:fmap_gets
Unexecuted instantiation: entconv.c:fmap_gets
Unexecuted instantiation: dlp.c:fmap_gets
Unexecuted instantiation: autoit.c:fmap_gets
Unexecuted instantiation: binhex.c:fmap_gets
Unexecuted instantiation: cpio.c:fmap_gets
Unexecuted instantiation: ishield.c:fmap_gets
Unexecuted instantiation: libmspack.c:fmap_gets
Unexecuted instantiation: msexpand.c:fmap_gets
Unexecuted instantiation: nulsft.c:fmap_gets
Unexecuted instantiation: hwp.c:fmap_gets
Unexecuted instantiation: msdoc.c:fmap_gets
Unexecuted instantiation: msxml_parser.c:fmap_gets
Unexecuted instantiation: msxml.c:fmap_gets
Unexecuted instantiation: ole2_extract.c:fmap_gets
Unexecuted instantiation: xlm_extract.c:fmap_gets
Unexecuted instantiation: ooxml.c:fmap_gets
Unexecuted instantiation: rtf.c:fmap_gets
Unexecuted instantiation: vba_extract.c:fmap_gets
Unexecuted instantiation: asn1.c:fmap_gets
Unexecuted instantiation: elf.c:fmap_gets
Unexecuted instantiation: macho.c:fmap_gets
Unexecuted instantiation: pe.c:fmap_gets
Unexecuted instantiation: aspack.c:fmap_gets
Unexecuted instantiation: fsg.c:fmap_gets
Unexecuted instantiation: mew.c:fmap_gets
Unexecuted instantiation: packlibs.c:fmap_gets
Unexecuted instantiation: petite.c:fmap_gets
Unexecuted instantiation: spin.c:fmap_gets
Unexecuted instantiation: unsp.c:fmap_gets
Unexecuted instantiation: upack.c:fmap_gets
Unexecuted instantiation: upx.c:fmap_gets
Unexecuted instantiation: wwunpack.c:fmap_gets
Unexecuted instantiation: yc.c:fmap_gets
mbox.c:fmap_gets
Line
Count
Source
361
5.37M
{
362
5.37M
    return m->gets(m, dst, at, max_len);
363
5.37M
}
Unexecuted instantiation: message.c:fmap_gets
Unexecuted instantiation: phish_domaincheck_db.c:fmap_gets
Unexecuted instantiation: phish_allow_list.c:fmap_gets
Unexecuted instantiation: phishcheck.c:fmap_gets
Unexecuted instantiation: regex_list.c:fmap_gets
Unexecuted instantiation: regex_suffix.c:fmap_gets
Unexecuted instantiation: sis.c:fmap_gets
Unexecuted instantiation: tnef.c:fmap_gets
uuencode.c:fmap_gets
Line
Count
Source
361
612k
{
362
612k
    return m->gets(m, dst, at, max_len);
363
612k
}
Unexecuted instantiation: swf.c:fmap_gets
Unexecuted instantiation: pdf.c:fmap_gets
Unexecuted instantiation: pdfng.c:fmap_gets
Unexecuted instantiation: pdfdecode.c:fmap_gets
Unexecuted instantiation: xdp.c:fmap_gets
Unexecuted instantiation: unarj.c:fmap_gets
Unexecuted instantiation: is_tar.c:fmap_gets
Unexecuted instantiation: untar.c:fmap_gets
Unexecuted instantiation: unzip.c:fmap_gets
Unexecuted instantiation: dmg.c:fmap_gets
Unexecuted instantiation: xar.c:fmap_gets
Unexecuted instantiation: egg.c:fmap_gets
Unexecuted instantiation: mbr.c:fmap_gets
Unexecuted instantiation: gpt.c:fmap_gets
Unexecuted instantiation: apm.c:fmap_gets
Unexecuted instantiation: hfsplus.c:fmap_gets
Unexecuted instantiation: iso9660.c:fmap_gets
Unexecuted instantiation: openioc.c:fmap_gets
Unexecuted instantiation: jpeg.c:fmap_gets
Unexecuted instantiation: png.c:fmap_gets
Unexecuted instantiation: tiff.c:fmap_gets
Unexecuted instantiation: gif.c:fmap_gets
Unexecuted instantiation: udf.c:fmap_gets
Unexecuted instantiation: regcomp.c:fmap_gets
Unexecuted instantiation: regexec.c:fmap_gets
Unexecuted instantiation: 7zCrc.c:fmap_gets
Unexecuted instantiation: 7zIn.c:fmap_gets
Unexecuted instantiation: 7zStream.c:fmap_gets
Unexecuted instantiation: LzmaDec.c:fmap_gets
Unexecuted instantiation: XzCrc64.c:fmap_gets
Unexecuted instantiation: XzDec.c:fmap_gets
Unexecuted instantiation: yara_compiler.c:fmap_gets
Unexecuted instantiation: yara_hash.c:fmap_gets
Unexecuted instantiation: yara_arena.c:fmap_gets
Unexecuted instantiation: yara_lexer.c:fmap_gets
Unexecuted instantiation: bytecode_nojit.c:fmap_gets
Unexecuted instantiation: blob.c:fmap_gets
Unexecuted instantiation: fpu.c:fmap_gets
Unexecuted instantiation: hashtab.c:fmap_gets
Unexecuted instantiation: json_api.c:fmap_gets
Unexecuted instantiation: table.c:fmap_gets
Unexecuted instantiation: text.c:fmap_gets
Unexecuted instantiation: uniq.c:fmap_gets
Unexecuted instantiation: www.c:fmap_gets
Unexecuted instantiation: filtering.c:fmap_gets
Unexecuted instantiation: matcher-ac.c:fmap_gets
Unexecuted instantiation: matcher-bm.c:fmap_gets
Unexecuted instantiation: matcher-byte-comp.c:fmap_gets
Unexecuted instantiation: matcher-hash.c:fmap_gets
Unexecuted instantiation: matcher-pcre.c:fmap_gets
Unexecuted instantiation: regex_pcre.c:fmap_gets
Unexecuted instantiation: cvd.c:fmap_gets
Unexecuted instantiation: dconf.c:fmap_gets
Unexecuted instantiation: dsig.c:fmap_gets
Unexecuted instantiation: partition_intersection.c:fmap_gets
Unexecuted instantiation: hostid_internal.c:fmap_gets
Unexecuted instantiation: stats_json.c:fmap_gets
Unexecuted instantiation: bytecode_api_decl.c:fmap_gets
Unexecuted instantiation: bytecode_api.c:fmap_gets
Unexecuted instantiation: bytecode_detect.c:fmap_gets
Unexecuted instantiation: bytecode_vm.c:fmap_gets
Unexecuted instantiation: explode.c:fmap_gets
Unexecuted instantiation: inflate64.c:fmap_gets
Unexecuted instantiation: lzwdec.c:fmap_gets
Unexecuted instantiation: bzlib.c:fmap_gets
Unexecuted instantiation: pe_icons.c:fmap_gets
Unexecuted instantiation: rebuildpe.c:fmap_gets
Unexecuted instantiation: line.c:fmap_gets
Unexecuted instantiation: adc.c:fmap_gets
Unexecuted instantiation: 7zBuf.c:fmap_gets
Unexecuted instantiation: 7zDec.c:fmap_gets
Unexecuted instantiation: Bcj2.c:fmap_gets
Unexecuted instantiation: Bra.c:fmap_gets
Unexecuted instantiation: Bra86.c:fmap_gets
Unexecuted instantiation: BraIA64.c:fmap_gets
Unexecuted instantiation: Delta.c:fmap_gets
Unexecuted instantiation: Lzma2Dec.c:fmap_gets
Unexecuted instantiation: Ppmd7.c:fmap_gets
Unexecuted instantiation: Ppmd7Dec.c:fmap_gets
Unexecuted instantiation: Xz.c:fmap_gets
Unexecuted instantiation: yara_exec.c:fmap_gets
Unexecuted instantiation: yara_grammar.c:fmap_gets
Unexecuted instantiation: disasm.c:fmap_gets
Unexecuted instantiation: yara_parser.c:fmap_gets
364
365
/**
366
 * @brief Get a pointer to the file data if the requested offset & max-len are within the fmap.
367
 *
368
 * Just like `fmap_need_off_once()` except the `len` param is a maximum-len.
369
 * If successful, the `lenout` param will indicate the _actual_ len of data available.
370
 *
371
 * @param m             The fmap.
372
 * @param at            The map offset requested.
373
 * @param len           Maximum length of data requested.
374
 * @param[out] lenout   The actual len of data available.
375
 * @return const void*  A pointer into to the fmap->data at the requested ofset. NULL if offset/len are not contained in the fmap.
376
 */
377
static inline const void *fmap_need_off_once_len(fmap_t *m, size_t at, size_t len, size_t *lenout)
378
3.78M
{
379
3.78M
    const void *p;
380
3.78M
    if (at >= m->len) {
381
1.62M
        *lenout = 0;
382
1.62M
        return NULL; /* EOF, not read error */
383
1.62M
    }
384
2.15M
    if (len > m->len - at)
385
1.66M
        len = m->len - at;
386
2.15M
    p       = fmap_need_off_once(m, at, len);
387
2.15M
    *lenout = p ? len : 0;
388
2.15M
    return p;
389
3.78M
}
Unexecuted instantiation: others_common.c:fmap_need_off_once_len
Unexecuted instantiation: qsort.c:fmap_need_off_once_len
Unexecuted instantiation: str.c:fmap_need_off_once_len
Unexecuted instantiation: cache.c:fmap_need_off_once_len
Unexecuted instantiation: crtmgr.c:fmap_need_off_once_len
Unexecuted instantiation: crypto.c:fmap_need_off_once_len
Unexecuted instantiation: filetypes.c:fmap_need_off_once_len
fmap.c:fmap_need_off_once_len
Line
Count
Source
378
1.26M
{
379
1.26M
    const void *p;
380
1.26M
    if (at >= m->len) {
381
540k
        *lenout = 0;
382
540k
        return NULL; /* EOF, not read error */
383
540k
    }
384
721k
    if (len > m->len - at)
385
540k
        len = m->len - at;
386
721k
    p       = fmap_need_off_once(m, at, len);
387
721k
    *lenout = p ? len : 0;
388
721k
    return p;
389
1.26M
}
Unexecuted instantiation: others.c:fmap_need_off_once_len
Unexecuted instantiation: textdet.c:fmap_need_off_once_len
Unexecuted instantiation: htmlnorm.c:fmap_need_off_once_len
Unexecuted instantiation: js-norm.c:fmap_need_off_once_len
Unexecuted instantiation: textnorm.c:fmap_need_off_once_len
Unexecuted instantiation: special.c:fmap_need_off_once_len
Unexecuted instantiation: stats.c:fmap_need_off_once_len
Unexecuted instantiation: bytecode.c:fmap_need_off_once_len
Unexecuted instantiation: events.c:fmap_need_off_once_len
Unexecuted instantiation: 7z_iface.c:fmap_need_off_once_len
Unexecuted instantiation: lzma_iface.c:fmap_need_off_once_len
Unexecuted instantiation: xz_iface.c:fmap_need_off_once_len
Unexecuted instantiation: entconv.c:fmap_need_off_once_len
Unexecuted instantiation: dlp.c:fmap_need_off_once_len
Unexecuted instantiation: autoit.c:fmap_need_off_once_len
Unexecuted instantiation: binhex.c:fmap_need_off_once_len
Unexecuted instantiation: cpio.c:fmap_need_off_once_len
Unexecuted instantiation: ishield.c:fmap_need_off_once_len
Unexecuted instantiation: libmspack.c:fmap_need_off_once_len
Unexecuted instantiation: msexpand.c:fmap_need_off_once_len
Unexecuted instantiation: nulsft.c:fmap_need_off_once_len
Unexecuted instantiation: hwp.c:fmap_need_off_once_len
Unexecuted instantiation: msdoc.c:fmap_need_off_once_len
Unexecuted instantiation: msxml_parser.c:fmap_need_off_once_len
Unexecuted instantiation: msxml.c:fmap_need_off_once_len
Unexecuted instantiation: ole2_extract.c:fmap_need_off_once_len
Unexecuted instantiation: xlm_extract.c:fmap_need_off_once_len
Unexecuted instantiation: ooxml.c:fmap_need_off_once_len
rtf.c:fmap_need_off_once_len
Line
Count
Source
378
74.5k
{
379
74.5k
    const void *p;
380
74.5k
    if (at >= m->len) {
381
35.5k
        *lenout = 0;
382
35.5k
        return NULL; /* EOF, not read error */
383
35.5k
    }
384
38.9k
    if (len > m->len - at)
385
35.5k
        len = m->len - at;
386
38.9k
    p       = fmap_need_off_once(m, at, len);
387
38.9k
    *lenout = p ? len : 0;
388
38.9k
    return p;
389
74.5k
}
Unexecuted instantiation: vba_extract.c:fmap_need_off_once_len
Unexecuted instantiation: asn1.c:fmap_need_off_once_len
Unexecuted instantiation: elf.c:fmap_need_off_once_len
Unexecuted instantiation: macho.c:fmap_need_off_once_len
Unexecuted instantiation: pe.c:fmap_need_off_once_len
Unexecuted instantiation: aspack.c:fmap_need_off_once_len
Unexecuted instantiation: fsg.c:fmap_need_off_once_len
Unexecuted instantiation: mew.c:fmap_need_off_once_len
Unexecuted instantiation: packlibs.c:fmap_need_off_once_len
Unexecuted instantiation: petite.c:fmap_need_off_once_len
Unexecuted instantiation: spin.c:fmap_need_off_once_len
Unexecuted instantiation: unsp.c:fmap_need_off_once_len
Unexecuted instantiation: upack.c:fmap_need_off_once_len
Unexecuted instantiation: upx.c:fmap_need_off_once_len
Unexecuted instantiation: wwunpack.c:fmap_need_off_once_len
Unexecuted instantiation: yc.c:fmap_need_off_once_len
Unexecuted instantiation: mbox.c:fmap_need_off_once_len
Unexecuted instantiation: message.c:fmap_need_off_once_len
Unexecuted instantiation: phish_domaincheck_db.c:fmap_need_off_once_len
Unexecuted instantiation: phish_allow_list.c:fmap_need_off_once_len
Unexecuted instantiation: phishcheck.c:fmap_need_off_once_len
Unexecuted instantiation: regex_list.c:fmap_need_off_once_len
Unexecuted instantiation: regex_suffix.c:fmap_need_off_once_len
Unexecuted instantiation: sis.c:fmap_need_off_once_len
Unexecuted instantiation: tnef.c:fmap_need_off_once_len
Unexecuted instantiation: uuencode.c:fmap_need_off_once_len
Unexecuted instantiation: swf.c:fmap_need_off_once_len
Unexecuted instantiation: pdf.c:fmap_need_off_once_len
Unexecuted instantiation: pdfng.c:fmap_need_off_once_len
Unexecuted instantiation: pdfdecode.c:fmap_need_off_once_len
Unexecuted instantiation: xdp.c:fmap_need_off_once_len
unarj.c:fmap_need_off_once_len
Line
Count
Source
378
2.42M
{
379
2.42M
    const void *p;
380
2.42M
    if (at >= m->len) {
381
1.05M
        *lenout = 0;
382
1.05M
        return NULL; /* EOF, not read error */
383
1.05M
    }
384
1.37M
    if (len > m->len - at)
385
1.08M
        len = m->len - at;
386
1.37M
    p       = fmap_need_off_once(m, at, len);
387
1.37M
    *lenout = p ? len : 0;
388
1.37M
    return p;
389
2.42M
}
Unexecuted instantiation: is_tar.c:fmap_need_off_once_len
untar.c:fmap_need_off_once_len
Line
Count
Source
378
19.1k
{
379
19.1k
    const void *p;
380
19.1k
    if (at >= m->len) {
381
333
        *lenout = 0;
382
333
        return NULL; /* EOF, not read error */
383
333
    }
384
18.7k
    if (len > m->len - at)
385
3.11k
        len = m->len - at;
386
18.7k
    p       = fmap_need_off_once(m, at, len);
387
18.7k
    *lenout = p ? len : 0;
388
18.7k
    return p;
389
19.1k
}
Unexecuted instantiation: unzip.c:fmap_need_off_once_len
dmg.c:fmap_need_off_once_len
Line
Count
Source
378
57
{
379
57
    const void *p;
380
57
    if (at >= m->len) {
381
0
        *lenout = 0;
382
0
        return NULL; /* EOF, not read error */
383
0
    }
384
57
    if (len > m->len - at)
385
0
        len = m->len - at;
386
57
    p       = fmap_need_off_once(m, at, len);
387
57
    *lenout = p ? len : 0;
388
57
    return p;
389
57
}
Unexecuted instantiation: xar.c:fmap_need_off_once_len
Unexecuted instantiation: egg.c:fmap_need_off_once_len
Unexecuted instantiation: mbr.c:fmap_need_off_once_len
Unexecuted instantiation: gpt.c:fmap_need_off_once_len
Unexecuted instantiation: apm.c:fmap_need_off_once_len
Unexecuted instantiation: hfsplus.c:fmap_need_off_once_len
Unexecuted instantiation: iso9660.c:fmap_need_off_once_len
Unexecuted instantiation: openioc.c:fmap_need_off_once_len
Unexecuted instantiation: jpeg.c:fmap_need_off_once_len
Unexecuted instantiation: png.c:fmap_need_off_once_len
Unexecuted instantiation: tiff.c:fmap_need_off_once_len
Unexecuted instantiation: gif.c:fmap_need_off_once_len
Unexecuted instantiation: udf.c:fmap_need_off_once_len
Unexecuted instantiation: regcomp.c:fmap_need_off_once_len
Unexecuted instantiation: regexec.c:fmap_need_off_once_len
Unexecuted instantiation: 7zCrc.c:fmap_need_off_once_len
Unexecuted instantiation: 7zIn.c:fmap_need_off_once_len
Unexecuted instantiation: 7zStream.c:fmap_need_off_once_len
Unexecuted instantiation: LzmaDec.c:fmap_need_off_once_len
Unexecuted instantiation: XzCrc64.c:fmap_need_off_once_len
Unexecuted instantiation: XzDec.c:fmap_need_off_once_len
Unexecuted instantiation: yara_compiler.c:fmap_need_off_once_len
Unexecuted instantiation: yara_hash.c:fmap_need_off_once_len
Unexecuted instantiation: yara_arena.c:fmap_need_off_once_len
Unexecuted instantiation: yara_lexer.c:fmap_need_off_once_len
Unexecuted instantiation: bytecode_nojit.c:fmap_need_off_once_len
Unexecuted instantiation: blob.c:fmap_need_off_once_len
Unexecuted instantiation: fpu.c:fmap_need_off_once_len
Unexecuted instantiation: hashtab.c:fmap_need_off_once_len
Unexecuted instantiation: json_api.c:fmap_need_off_once_len
Unexecuted instantiation: table.c:fmap_need_off_once_len
Unexecuted instantiation: text.c:fmap_need_off_once_len
Unexecuted instantiation: uniq.c:fmap_need_off_once_len
Unexecuted instantiation: www.c:fmap_need_off_once_len
Unexecuted instantiation: filtering.c:fmap_need_off_once_len
Unexecuted instantiation: matcher-ac.c:fmap_need_off_once_len
Unexecuted instantiation: matcher-bm.c:fmap_need_off_once_len
Unexecuted instantiation: matcher-byte-comp.c:fmap_need_off_once_len
Unexecuted instantiation: matcher-hash.c:fmap_need_off_once_len
Unexecuted instantiation: matcher-pcre.c:fmap_need_off_once_len
Unexecuted instantiation: regex_pcre.c:fmap_need_off_once_len
Unexecuted instantiation: cvd.c:fmap_need_off_once_len
Unexecuted instantiation: dconf.c:fmap_need_off_once_len
Unexecuted instantiation: dsig.c:fmap_need_off_once_len
Unexecuted instantiation: partition_intersection.c:fmap_need_off_once_len
Unexecuted instantiation: hostid_internal.c:fmap_need_off_once_len
Unexecuted instantiation: stats_json.c:fmap_need_off_once_len
Unexecuted instantiation: bytecode_api_decl.c:fmap_need_off_once_len
Unexecuted instantiation: bytecode_api.c:fmap_need_off_once_len
Unexecuted instantiation: bytecode_detect.c:fmap_need_off_once_len
Unexecuted instantiation: bytecode_vm.c:fmap_need_off_once_len
Unexecuted instantiation: explode.c:fmap_need_off_once_len
Unexecuted instantiation: inflate64.c:fmap_need_off_once_len
Unexecuted instantiation: lzwdec.c:fmap_need_off_once_len
Unexecuted instantiation: bzlib.c:fmap_need_off_once_len
Unexecuted instantiation: pe_icons.c:fmap_need_off_once_len
Unexecuted instantiation: rebuildpe.c:fmap_need_off_once_len
Unexecuted instantiation: line.c:fmap_need_off_once_len
Unexecuted instantiation: adc.c:fmap_need_off_once_len
Unexecuted instantiation: 7zBuf.c:fmap_need_off_once_len
Unexecuted instantiation: 7zDec.c:fmap_need_off_once_len
Unexecuted instantiation: Bcj2.c:fmap_need_off_once_len
Unexecuted instantiation: Bra.c:fmap_need_off_once_len
Unexecuted instantiation: Bra86.c:fmap_need_off_once_len
Unexecuted instantiation: BraIA64.c:fmap_need_off_once_len
Unexecuted instantiation: Delta.c:fmap_need_off_once_len
Unexecuted instantiation: Lzma2Dec.c:fmap_need_off_once_len
Unexecuted instantiation: Ppmd7.c:fmap_need_off_once_len
Unexecuted instantiation: Ppmd7Dec.c:fmap_need_off_once_len
Unexecuted instantiation: Xz.c:fmap_need_off_once_len
Unexecuted instantiation: yara_exec.c:fmap_need_off_once_len
Unexecuted instantiation: yara_grammar.c:fmap_need_off_once_len
Unexecuted instantiation: disasm.c:fmap_need_off_once_len
Unexecuted instantiation: yara_parser.c:fmap_need_off_once_len
390
391
/**
392
 * @brief Get a pointer to the file data if the requested offset & max-len are within the fmap.
393
 *
394
 * Just like `fmap_need_off_once()` except the `len` param is a maximum-len.
395
 * If successful, the `lenout` param will indicate the _actual_ len of data available.
396
 *
397
 * @param m             The fmap.
398
 * @param ptr           A pointer into the fmap->data.
399
 * @param len           Maximum length of data requested.
400
 * @param[out] lenout   The actual len of data available.
401
 * @return const void* A pointer into to the fmap->data at the requested ofset. NULL if offset/len are not contained in the fmap.
402
 */
403
static inline const void *fmap_need_ptr_once_len(fmap_t *m, const void *ptr, size_t len, size_t *lenout)
404
0
{
405
0
    return fmap_need_off_once_len(m, fmap_ptr2off(m, ptr), len, lenout);
406
0
}
Unexecuted instantiation: others_common.c:fmap_need_ptr_once_len
Unexecuted instantiation: qsort.c:fmap_need_ptr_once_len
Unexecuted instantiation: str.c:fmap_need_ptr_once_len
Unexecuted instantiation: cache.c:fmap_need_ptr_once_len
Unexecuted instantiation: crtmgr.c:fmap_need_ptr_once_len
Unexecuted instantiation: crypto.c:fmap_need_ptr_once_len
Unexecuted instantiation: filetypes.c:fmap_need_ptr_once_len
Unexecuted instantiation: fmap.c:fmap_need_ptr_once_len
Unexecuted instantiation: others.c:fmap_need_ptr_once_len
Unexecuted instantiation: textdet.c:fmap_need_ptr_once_len
Unexecuted instantiation: htmlnorm.c:fmap_need_ptr_once_len
Unexecuted instantiation: js-norm.c:fmap_need_ptr_once_len
Unexecuted instantiation: textnorm.c:fmap_need_ptr_once_len
Unexecuted instantiation: special.c:fmap_need_ptr_once_len
Unexecuted instantiation: stats.c:fmap_need_ptr_once_len
Unexecuted instantiation: bytecode.c:fmap_need_ptr_once_len
Unexecuted instantiation: events.c:fmap_need_ptr_once_len
Unexecuted instantiation: 7z_iface.c:fmap_need_ptr_once_len
Unexecuted instantiation: lzma_iface.c:fmap_need_ptr_once_len
Unexecuted instantiation: xz_iface.c:fmap_need_ptr_once_len
Unexecuted instantiation: entconv.c:fmap_need_ptr_once_len
Unexecuted instantiation: dlp.c:fmap_need_ptr_once_len
Unexecuted instantiation: autoit.c:fmap_need_ptr_once_len
Unexecuted instantiation: binhex.c:fmap_need_ptr_once_len
Unexecuted instantiation: cpio.c:fmap_need_ptr_once_len
Unexecuted instantiation: ishield.c:fmap_need_ptr_once_len
Unexecuted instantiation: libmspack.c:fmap_need_ptr_once_len
Unexecuted instantiation: msexpand.c:fmap_need_ptr_once_len
Unexecuted instantiation: nulsft.c:fmap_need_ptr_once_len
Unexecuted instantiation: hwp.c:fmap_need_ptr_once_len
Unexecuted instantiation: msdoc.c:fmap_need_ptr_once_len
Unexecuted instantiation: msxml_parser.c:fmap_need_ptr_once_len
Unexecuted instantiation: msxml.c:fmap_need_ptr_once_len
Unexecuted instantiation: ole2_extract.c:fmap_need_ptr_once_len
Unexecuted instantiation: xlm_extract.c:fmap_need_ptr_once_len
Unexecuted instantiation: ooxml.c:fmap_need_ptr_once_len
Unexecuted instantiation: rtf.c:fmap_need_ptr_once_len
Unexecuted instantiation: vba_extract.c:fmap_need_ptr_once_len
Unexecuted instantiation: asn1.c:fmap_need_ptr_once_len
Unexecuted instantiation: elf.c:fmap_need_ptr_once_len
Unexecuted instantiation: macho.c:fmap_need_ptr_once_len
Unexecuted instantiation: pe.c:fmap_need_ptr_once_len
Unexecuted instantiation: aspack.c:fmap_need_ptr_once_len
Unexecuted instantiation: fsg.c:fmap_need_ptr_once_len
Unexecuted instantiation: mew.c:fmap_need_ptr_once_len
Unexecuted instantiation: packlibs.c:fmap_need_ptr_once_len
Unexecuted instantiation: petite.c:fmap_need_ptr_once_len
Unexecuted instantiation: spin.c:fmap_need_ptr_once_len
Unexecuted instantiation: unsp.c:fmap_need_ptr_once_len
Unexecuted instantiation: upack.c:fmap_need_ptr_once_len
Unexecuted instantiation: upx.c:fmap_need_ptr_once_len
Unexecuted instantiation: wwunpack.c:fmap_need_ptr_once_len
Unexecuted instantiation: yc.c:fmap_need_ptr_once_len
Unexecuted instantiation: mbox.c:fmap_need_ptr_once_len
Unexecuted instantiation: message.c:fmap_need_ptr_once_len
Unexecuted instantiation: phish_domaincheck_db.c:fmap_need_ptr_once_len
Unexecuted instantiation: phish_allow_list.c:fmap_need_ptr_once_len
Unexecuted instantiation: phishcheck.c:fmap_need_ptr_once_len
Unexecuted instantiation: regex_list.c:fmap_need_ptr_once_len
Unexecuted instantiation: regex_suffix.c:fmap_need_ptr_once_len
Unexecuted instantiation: sis.c:fmap_need_ptr_once_len
Unexecuted instantiation: tnef.c:fmap_need_ptr_once_len
Unexecuted instantiation: uuencode.c:fmap_need_ptr_once_len
Unexecuted instantiation: swf.c:fmap_need_ptr_once_len
Unexecuted instantiation: pdf.c:fmap_need_ptr_once_len
Unexecuted instantiation: pdfng.c:fmap_need_ptr_once_len
Unexecuted instantiation: pdfdecode.c:fmap_need_ptr_once_len
Unexecuted instantiation: xdp.c:fmap_need_ptr_once_len
Unexecuted instantiation: unarj.c:fmap_need_ptr_once_len
Unexecuted instantiation: is_tar.c:fmap_need_ptr_once_len
Unexecuted instantiation: untar.c:fmap_need_ptr_once_len
Unexecuted instantiation: unzip.c:fmap_need_ptr_once_len
Unexecuted instantiation: dmg.c:fmap_need_ptr_once_len
Unexecuted instantiation: xar.c:fmap_need_ptr_once_len
Unexecuted instantiation: egg.c:fmap_need_ptr_once_len
Unexecuted instantiation: mbr.c:fmap_need_ptr_once_len
Unexecuted instantiation: gpt.c:fmap_need_ptr_once_len
Unexecuted instantiation: apm.c:fmap_need_ptr_once_len
Unexecuted instantiation: hfsplus.c:fmap_need_ptr_once_len
Unexecuted instantiation: iso9660.c:fmap_need_ptr_once_len
Unexecuted instantiation: openioc.c:fmap_need_ptr_once_len
Unexecuted instantiation: jpeg.c:fmap_need_ptr_once_len
Unexecuted instantiation: png.c:fmap_need_ptr_once_len
Unexecuted instantiation: tiff.c:fmap_need_ptr_once_len
Unexecuted instantiation: gif.c:fmap_need_ptr_once_len
Unexecuted instantiation: udf.c:fmap_need_ptr_once_len
Unexecuted instantiation: regcomp.c:fmap_need_ptr_once_len
Unexecuted instantiation: regexec.c:fmap_need_ptr_once_len
Unexecuted instantiation: 7zCrc.c:fmap_need_ptr_once_len
Unexecuted instantiation: 7zIn.c:fmap_need_ptr_once_len
Unexecuted instantiation: 7zStream.c:fmap_need_ptr_once_len
Unexecuted instantiation: LzmaDec.c:fmap_need_ptr_once_len
Unexecuted instantiation: XzCrc64.c:fmap_need_ptr_once_len
Unexecuted instantiation: XzDec.c:fmap_need_ptr_once_len
Unexecuted instantiation: yara_compiler.c:fmap_need_ptr_once_len
Unexecuted instantiation: yara_hash.c:fmap_need_ptr_once_len
Unexecuted instantiation: yara_arena.c:fmap_need_ptr_once_len
Unexecuted instantiation: yara_lexer.c:fmap_need_ptr_once_len
Unexecuted instantiation: bytecode_nojit.c:fmap_need_ptr_once_len
Unexecuted instantiation: blob.c:fmap_need_ptr_once_len
Unexecuted instantiation: fpu.c:fmap_need_ptr_once_len
Unexecuted instantiation: hashtab.c:fmap_need_ptr_once_len
Unexecuted instantiation: json_api.c:fmap_need_ptr_once_len
Unexecuted instantiation: table.c:fmap_need_ptr_once_len
Unexecuted instantiation: text.c:fmap_need_ptr_once_len
Unexecuted instantiation: uniq.c:fmap_need_ptr_once_len
Unexecuted instantiation: www.c:fmap_need_ptr_once_len
Unexecuted instantiation: filtering.c:fmap_need_ptr_once_len
Unexecuted instantiation: matcher-ac.c:fmap_need_ptr_once_len
Unexecuted instantiation: matcher-bm.c:fmap_need_ptr_once_len
Unexecuted instantiation: matcher-byte-comp.c:fmap_need_ptr_once_len
Unexecuted instantiation: matcher-hash.c:fmap_need_ptr_once_len
Unexecuted instantiation: matcher-pcre.c:fmap_need_ptr_once_len
Unexecuted instantiation: regex_pcre.c:fmap_need_ptr_once_len
Unexecuted instantiation: cvd.c:fmap_need_ptr_once_len
Unexecuted instantiation: dconf.c:fmap_need_ptr_once_len
Unexecuted instantiation: dsig.c:fmap_need_ptr_once_len
Unexecuted instantiation: partition_intersection.c:fmap_need_ptr_once_len
Unexecuted instantiation: hostid_internal.c:fmap_need_ptr_once_len
Unexecuted instantiation: stats_json.c:fmap_need_ptr_once_len
Unexecuted instantiation: bytecode_api_decl.c:fmap_need_ptr_once_len
Unexecuted instantiation: bytecode_api.c:fmap_need_ptr_once_len
Unexecuted instantiation: bytecode_detect.c:fmap_need_ptr_once_len
Unexecuted instantiation: bytecode_vm.c:fmap_need_ptr_once_len
Unexecuted instantiation: explode.c:fmap_need_ptr_once_len
Unexecuted instantiation: inflate64.c:fmap_need_ptr_once_len
Unexecuted instantiation: lzwdec.c:fmap_need_ptr_once_len
Unexecuted instantiation: bzlib.c:fmap_need_ptr_once_len
Unexecuted instantiation: pe_icons.c:fmap_need_ptr_once_len
Unexecuted instantiation: rebuildpe.c:fmap_need_ptr_once_len
Unexecuted instantiation: line.c:fmap_need_ptr_once_len
Unexecuted instantiation: adc.c:fmap_need_ptr_once_len
Unexecuted instantiation: 7zBuf.c:fmap_need_ptr_once_len
Unexecuted instantiation: 7zDec.c:fmap_need_ptr_once_len
Unexecuted instantiation: Bcj2.c:fmap_need_ptr_once_len
Unexecuted instantiation: Bra.c:fmap_need_ptr_once_len
Unexecuted instantiation: Bra86.c:fmap_need_ptr_once_len
Unexecuted instantiation: BraIA64.c:fmap_need_ptr_once_len
Unexecuted instantiation: Delta.c:fmap_need_ptr_once_len
Unexecuted instantiation: Lzma2Dec.c:fmap_need_ptr_once_len
Unexecuted instantiation: Ppmd7.c:fmap_need_ptr_once_len
Unexecuted instantiation: Ppmd7Dec.c:fmap_need_ptr_once_len
Unexecuted instantiation: Xz.c:fmap_need_ptr_once_len
Unexecuted instantiation: yara_exec.c:fmap_need_ptr_once_len
Unexecuted instantiation: yara_grammar.c:fmap_need_ptr_once_len
Unexecuted instantiation: disasm.c:fmap_need_ptr_once_len
Unexecuted instantiation: yara_parser.c:fmap_need_ptr_once_len
407
408
/**
409
 * @brief   Dump a specified range of data from an fmap to a new temp file.
410
 *
411
 * @param map           The file map in question
412
 * @param filepath      (Optional) The full filepath of the file being dumped.
413
 * @param tmpdir        The directory to drop the file to.
414
 * @param outname       The filename chosen for the temp file.
415
 * @param outfd         The file descriptor of the new file, open and seeked to the start of the file.
416
 * @param start_offset  The start offset of the data that you wish to write to the temp file. Must be less than the length of the fmap and must be less than end_offset.
417
 * @param end_offset    The end offset of the data you wish to write to the temp file.  May be larger than the size of the fmap.  Use SIZE_MAX to write the entire fmap.
418
 * @return cl_error_t   CL_SUCCESS on success, else CL_EARG, CL_EWRITE, CL_ECREAT, or CL_EMEM for self-explanatory reasons.
419
 */
420
cl_error_t fmap_dump_to_file(fmap_t *map, const char *filepath, const char *tmpdir, char **outname, int *outfd, size_t start_offset, size_t end_offset);
421
422
/* deprecated */
423
/**
424
 * @brief   Return the open file descriptor for the fmap (if available).
425
 *
426
 * This function will only provide the file descriptor if the fmap handle is set,
427
 * and if the handle is in fact a file descriptor (handle_is_fd != 0).
428
 *
429
 * @param m     The fmap.
430
 * @return int  The file descriptor, or -1 if not available.
431
 */
432
int fmap_fd(fmap_t *m);
433
434
/**
435
 * @brief Get a pointer to the fmap hash.
436
 *
437
 * Will calculate the hash if not already previously calculated.
438
 *
439
 * @param map       The map in question.
440
 * @param[out] hash A pointer to the hash.
441
 * @param type      The type of hash to calculate.
442
 * @return cl_error_t CL_SUCCESS if was able to get the hash, else some error.
443
 */
444
cl_error_t fmap_get_hash(fmap_t *map, unsigned char **hash, cli_hash_type_t type);
445
446
/**
447
 * @brief Set the hash for the fmap that was previously calculated.
448
 *
449
 * @param map       The map in question.
450
 * @param hash      The hash to set.
451
 * @param type      The type of hash to calculate.
452
 * @return cl_error_t CL_SUCCESS if was able to set the hash, else some error.
453
 */
454
cl_error_t fmap_set_hash(fmap_t *map, unsigned char *hash, cli_hash_type_t type);
455
456
#endif