Coverage Report

Created: 2025-12-27 06:12

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/haproxy/include/import/ist.h
Line
Count
Source
1
/*
2
 * include/import/ist.h
3
 * Very simple indirect string manipulation functions.
4
 *
5
 * Copyright (C) 2014-2020 Willy Tarreau - w@1wt.eu
6
 *
7
 * Permission is hereby granted, free of charge, to any person obtaining
8
 * a copy of this software and associated documentation files (the
9
 * "Software"), to deal in the Software without restriction, including
10
 * without limitation the rights to use, copy, modify, merge, publish,
11
 * distribute, sublicense, and/or sell copies of the Software, and to
12
 * permit persons to whom the Software is furnished to do so, subject to
13
 * the following conditions:
14
 *
15
 * The above copyright notice and this permission notice shall be
16
 * included in all copies or substantial portions of the Software.
17
 *
18
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
20
 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
21
 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
22
 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
23
 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
24
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
25
 * OTHER DEALINGS IN THE SOFTWARE.
26
 */
27
28
#ifndef _IMPORT_IST_H
29
#define _IMPORT_IST_H
30
31
#include <sys/types.h>
32
#include <ctype.h>
33
#include <stddef.h>
34
#include <string.h>
35
36
#ifndef IST_FREESTANDING
37
#include <stdlib.h>
38
#endif
39
40
/* ASCII to lower case conversion table */
41
#define _IST_LC {                                       \
42
  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, \
43
  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, \
44
  0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, \
45
  0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, \
46
  0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, \
47
  0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, \
48
  0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, \
49
  0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, \
50
  0x40, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, \
51
  0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, \
52
  0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, \
53
  0x78, 0x79, 0x7a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, \
54
  0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, \
55
  0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, \
56
  0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, \
57
  0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, \
58
  0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, \
59
  0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, \
60
  0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, \
61
  0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, \
62
  0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, \
63
  0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, \
64
  0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, \
65
  0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, \
66
  0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, \
67
  0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, \
68
  0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, \
69
  0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, \
70
  0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, \
71
  0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, \
72
  0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, \
73
  0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, \
74
}
75
76
/* ASCII to upper case conversion table */
77
#define _IST_UC {                                       \
78
  0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, \
79
  0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, \
80
  0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, \
81
  0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, \
82
  0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, \
83
  0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, \
84
  0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, \
85
  0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, \
86
  0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, \
87
  0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, \
88
  0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, \
89
  0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, \
90
  0x60, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, \
91
  0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, \
92
  0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, \
93
  0x58, 0x59, 0x5a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, \
94
  0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, \
95
  0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, \
96
  0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, \
97
  0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, \
98
  0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, \
99
  0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, \
100
  0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, \
101
  0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, \
102
  0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, \
103
  0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, \
104
  0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, \
105
  0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, \
106
  0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, \
107
  0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, \
108
  0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, \
109
  0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, \
110
}
111
112
#if defined(USE_OBSOLETE_LINKER) || defined(__TINYC__)
113
/* some old linkers and some non-ELF platforms have issues with the weak
114
 * attribute so we turn these arrays to literals there. TCC silently ignores
115
 * it so we switch to literal as well.
116
 */
117
#define ist_lc ((const unsigned char[256])_IST_LC)
118
#define ist_uc ((const unsigned char[256])_IST_UC)
119
#else
120
const unsigned char ist_lc[256] __attribute__((weak)) = _IST_LC;
121
const unsigned char ist_uc[256] __attribute__((weak)) = _IST_UC;
122
#endif
123
124
/* This string definition will most often be used to represent a read-only
125
 * string returned from a function, based on the starting point and its length
126
 * in bytes. No storage is provided, only a pointer and a length. The types
127
 * here are important as we only want to have 2 native machine words there so
128
 * that on modern architectures the compiler is capable of efficiently
129
 * returning a register pair without having to allocate stack room from the
130
 * caller. This is done with -freg-struct which is often enabled by default.
131
 */
132
struct ist {
133
  char  *ptr;
134
  size_t len;
135
};
136
137
/* makes a constant ist from a constant string, for use in array declarations */
138
#define IST(str) { .ptr = str "", .len = (sizeof str "") - 1 }
139
140
/* IST_NULL is equivalent to an `ist` with `.ptr = NULL` and `.len = 0` */
141
51.3k
#define IST_NULL ((const struct ist){ .ptr = 0, .len = 0 })
142
143
/* makes an ist from a regular zero terminated string. Null has length 0.
144
 * Constants are detected and replaced with constant initializers. Other values
145
 * are measured by hand without strlen() as it's much cheaper and inlinable on
146
 * small strings. The construct is complex because we must never call
147
 * __builtin_strlen() with an expression otherwise it involves a real
148
 * measurement.
149
 */
150
#if __GNUC__ >= 4
151
// gcc >= 4 detects constant propagation of str through __x and resolves the
152
// length of constant strings easily.
153
83.7k
#define ist(str) ({                                                    \
154
83.7k
  char *__x = (void *)(str);                                     \
155
83.7k
  (struct ist){                                                  \
156
83.7k
    .ptr = __x,                                            \
157
83.7k
    .len = __builtin_constant_p(str) ?                     \
158
83.7k
      ((void *)str == (void *)0) ? 0 :               \
159
0
      __builtin_strlen(__x) :                        \
160
83.7k
      ({                                             \
161
83.7k
        size_t __l = 0;                        \
162
101M
        if (__x) for (__l--; __x[++__l]; ) ;   \
163
83.7k
        __l;                                   \
164
83.7k
      })                                             \
165
83.7k
  };                                                             \
166
83.7k
})
167
#else
168
// gcc < 4 can't do this, and the side effect is a warning each time a NULL is
169
// passed to ist() due to the check on __builtin_strlen(). It doesn't have the
170
// ability to know that this code is never called.
171
#define ist(str) ({                                                    \
172
  char *__x = (void *)(str);                                     \
173
  (struct ist){                                                  \
174
    .ptr = __x,                                            \
175
    .len = __builtin_constant_p(str) ?                     \
176
      ((void *)str == (void *)0) ? 0 :               \
177
      __builtin_strlen(str) :                        \
178
      ({                                             \
179
        size_t __l = 0;                        \
180
        if (__x) for (__l--; __x[++__l]; ) ;   \
181
        __l;                                   \
182
      })                                             \
183
  };                                                             \
184
})
185
#endif
186
187
/* makes an ist struct from a string and a length */
188
static inline struct ist ist2(const void *ptr, size_t len)
189
149k
{
190
149k
  return (struct ist){ .ptr = (char *)ptr, .len = len };
191
149k
}
fuzz_hpack_decode.c:ist2
Line
Count
Source
189
78.8k
{
190
78.8k
  return (struct ist){ .ptr = (char *)ptr, .len = len };
191
78.8k
}
Unexecuted instantiation: fuzz_cfg_parser.c:ist2
cfgparse.c:ist2
Line
Count
Source
189
2.08k
{
190
2.08k
  return (struct ist){ .ptr = (char *)ptr, .len = len };
191
2.08k
}
Unexecuted instantiation: chunk.c:ist2
Unexecuted instantiation: cli.c:ist2
Unexecuted instantiation: clock.c:ist2
Unexecuted instantiation: connection.c:ist2
Unexecuted instantiation: debug.c:ist2
Unexecuted instantiation: dynbuf.c:ist2
Unexecuted instantiation: errors.c:ist2
Unexecuted instantiation: fd.c:ist2
Unexecuted instantiation: filters.c:ist2
Unexecuted instantiation: flt_http_comp.c:ist2
Unexecuted instantiation: freq_ctr.c:ist2
Unexecuted instantiation: frontend.c:ist2
Unexecuted instantiation: haproxy.c:ist2
Unexecuted instantiation: http.c:ist2
Unexecuted instantiation: http_ana.c:ist2
Unexecuted instantiation: http_ext.c:ist2
Unexecuted instantiation: http_htx.c:ist2
Unexecuted instantiation: http_rules.c:ist2
Unexecuted instantiation: htx.c:ist2
Unexecuted instantiation: lb_chash.c:ist2
Unexecuted instantiation: lb_fas.c:ist2
Unexecuted instantiation: lb_fwlc.c:ist2
Unexecuted instantiation: lb_fwrr.c:ist2
Unexecuted instantiation: lb_map.c:ist2
Unexecuted instantiation: lb_ss.c:ist2
Unexecuted instantiation: limits.c:ist2
Unexecuted instantiation: listener.c:ist2
Unexecuted instantiation: log.c:ist2
Unexecuted instantiation: mailers.c:ist2
Unexecuted instantiation: mworker.c:ist2
Unexecuted instantiation: peers.c:ist2
Unexecuted instantiation: pool.c:ist2
Unexecuted instantiation: proto_rhttp.c:ist2
Unexecuted instantiation: proto_sockpair.c:ist2
Unexecuted instantiation: protocol.c:ist2
Unexecuted instantiation: proxy.c:ist2
Unexecuted instantiation: queue.c:ist2
Unexecuted instantiation: regex.c:ist2
Unexecuted instantiation: resolvers.c:ist2
Unexecuted instantiation: ring.c:ist2
Unexecuted instantiation: sample.c:ist2
Unexecuted instantiation: server.c:ist2
Unexecuted instantiation: session.c:ist2
Unexecuted instantiation: signal.c:ist2
Unexecuted instantiation: sink.c:ist2
Unexecuted instantiation: sock.c:ist2
Unexecuted instantiation: sock_inet.c:ist2
Unexecuted instantiation: stats-html.c:ist2
Unexecuted instantiation: stats.c:ist2
Unexecuted instantiation: stconn.c:ist2
Unexecuted instantiation: stick_table.c:ist2
Unexecuted instantiation: stream.c:ist2
Unexecuted instantiation: systemd.c:ist2
Unexecuted instantiation: task.c:ist2
Unexecuted instantiation: tcp_rules.c:ist2
Unexecuted instantiation: tcpcheck.c:ist2
Unexecuted instantiation: thread.c:ist2
tools.c:ist2
Line
Count
Source
189
68.8k
{
190
68.8k
  return (struct ist){ .ptr = (char *)ptr, .len = len };
191
68.8k
}
Unexecuted instantiation: trace.c:ist2
Unexecuted instantiation: uri_auth.c:ist2
Unexecuted instantiation: vars.c:ist2
Unexecuted instantiation: acl.c:ist2
Unexecuted instantiation: action.c:ist2
Unexecuted instantiation: activity.c:ist2
Unexecuted instantiation: applet.c:ist2
Unexecuted instantiation: arg.c:ist2
Unexecuted instantiation: auth.c:ist2
Unexecuted instantiation: backend.c:ist2
Unexecuted instantiation: cache.c:ist2
Unexecuted instantiation: cfgcond.c:ist2
Unexecuted instantiation: cfgparse-global.c:ist2
Unexecuted instantiation: cfgparse-listen.c:ist2
Unexecuted instantiation: channel.c:ist2
Unexecuted instantiation: check.c:ist2
Unexecuted instantiation: compression.c:ist2
Unexecuted instantiation: counters.c:ist2
Unexecuted instantiation: dgram.c:ist2
Unexecuted instantiation: dns.c:ist2
Unexecuted instantiation: dns_ring.c:ist2
Unexecuted instantiation: event_hdl.c:ist2
Unexecuted instantiation: extcheck.c:ist2
Unexecuted instantiation: fcgi-app.c:ist2
Unexecuted instantiation: fix.c:ist2
Unexecuted instantiation: guid.c:ist2
Unexecuted instantiation: h1.c:ist2
Unexecuted instantiation: http_fetch.c:ist2
Unexecuted instantiation: mqtt.c:ist2
Unexecuted instantiation: mux_spop.c:ist2
Unexecuted instantiation: pattern.c:ist2
Unexecuted instantiation: payload.c:ist2
Unexecuted instantiation: proto_tcp.c:ist2
Unexecuted instantiation: shctx.c:ist2
Unexecuted instantiation: stats-file.c:ist2
Unexecuted instantiation: stats-json.c:ist2
Unexecuted instantiation: stats-proxy.c:ist2
Unexecuted instantiation: flt_spoe.c:ist2
Unexecuted instantiation: h1_htx.c:ist2
192
193
/* returns the result of `ist.ptr != NULL` */
194
static inline int isttest(const struct ist ist)
195
157k
{
196
157k
  return ist.ptr != NULL;
197
157k
}
fuzz_hpack_decode.c:isttest
Line
Count
Source
195
150k
{
196
  return ist.ptr != NULL;
197
150k
}
Unexecuted instantiation: fuzz_cfg_parser.c:isttest
cfgparse.c:isttest
Line
Count
Source
195
2.08k
{
196
  return ist.ptr != NULL;
197
2.08k
}
Unexecuted instantiation: chunk.c:isttest
Unexecuted instantiation: cli.c:isttest
Unexecuted instantiation: clock.c:isttest
Unexecuted instantiation: connection.c:isttest
Unexecuted instantiation: debug.c:isttest
Unexecuted instantiation: dynbuf.c:isttest
Unexecuted instantiation: errors.c:isttest
Unexecuted instantiation: fd.c:isttest
Unexecuted instantiation: filters.c:isttest
Unexecuted instantiation: flt_http_comp.c:isttest
Unexecuted instantiation: freq_ctr.c:isttest
Unexecuted instantiation: frontend.c:isttest
Unexecuted instantiation: haproxy.c:isttest
Unexecuted instantiation: http.c:isttest
Unexecuted instantiation: http_ana.c:isttest
Unexecuted instantiation: http_ext.c:isttest
Unexecuted instantiation: http_htx.c:isttest
Unexecuted instantiation: http_rules.c:isttest
Unexecuted instantiation: htx.c:isttest
Unexecuted instantiation: lb_chash.c:isttest
Unexecuted instantiation: lb_fas.c:isttest
Unexecuted instantiation: lb_fwlc.c:isttest
Unexecuted instantiation: lb_fwrr.c:isttest
Unexecuted instantiation: lb_map.c:isttest
Unexecuted instantiation: lb_ss.c:isttest
Unexecuted instantiation: limits.c:isttest
Unexecuted instantiation: listener.c:isttest
Unexecuted instantiation: log.c:isttest
Unexecuted instantiation: mailers.c:isttest
Unexecuted instantiation: mworker.c:isttest
Unexecuted instantiation: peers.c:isttest
Unexecuted instantiation: pool.c:isttest
Unexecuted instantiation: proto_rhttp.c:isttest
Unexecuted instantiation: proto_sockpair.c:isttest
Unexecuted instantiation: protocol.c:isttest
Unexecuted instantiation: proxy.c:isttest
Unexecuted instantiation: queue.c:isttest
Unexecuted instantiation: regex.c:isttest
Unexecuted instantiation: resolvers.c:isttest
Unexecuted instantiation: ring.c:isttest
Unexecuted instantiation: sample.c:isttest
Unexecuted instantiation: server.c:isttest
Unexecuted instantiation: session.c:isttest
Unexecuted instantiation: signal.c:isttest
Unexecuted instantiation: sink.c:isttest
Unexecuted instantiation: sock.c:isttest
Unexecuted instantiation: sock_inet.c:isttest
Unexecuted instantiation: stats-html.c:isttest
Unexecuted instantiation: stats.c:isttest
Unexecuted instantiation: stconn.c:isttest
Unexecuted instantiation: stick_table.c:isttest
Unexecuted instantiation: stream.c:isttest
Unexecuted instantiation: systemd.c:isttest
Unexecuted instantiation: task.c:isttest
Unexecuted instantiation: tcp_rules.c:isttest
Unexecuted instantiation: tcpcheck.c:isttest
Unexecuted instantiation: thread.c:isttest
tools.c:isttest
Line
Count
Source
195
4.17k
{
196
  return ist.ptr != NULL;
197
4.17k
}
Unexecuted instantiation: trace.c:isttest
Unexecuted instantiation: uri_auth.c:isttest
Unexecuted instantiation: vars.c:isttest
Unexecuted instantiation: acl.c:isttest
Unexecuted instantiation: action.c:isttest
Unexecuted instantiation: activity.c:isttest
Unexecuted instantiation: applet.c:isttest
Unexecuted instantiation: arg.c:isttest
Unexecuted instantiation: auth.c:isttest
Unexecuted instantiation: backend.c:isttest
Unexecuted instantiation: cache.c:isttest
Unexecuted instantiation: cfgcond.c:isttest
Unexecuted instantiation: cfgparse-global.c:isttest
Unexecuted instantiation: cfgparse-listen.c:isttest
Unexecuted instantiation: channel.c:isttest
Unexecuted instantiation: check.c:isttest
Unexecuted instantiation: compression.c:isttest
Unexecuted instantiation: counters.c:isttest
Unexecuted instantiation: dgram.c:isttest
Unexecuted instantiation: dns.c:isttest
Unexecuted instantiation: dns_ring.c:isttest
Unexecuted instantiation: event_hdl.c:isttest
Unexecuted instantiation: extcheck.c:isttest
Unexecuted instantiation: fcgi-app.c:isttest
Unexecuted instantiation: fix.c:isttest
Unexecuted instantiation: guid.c:isttest
Unexecuted instantiation: h1.c:isttest
Unexecuted instantiation: http_fetch.c:isttest
Unexecuted instantiation: mqtt.c:isttest
Unexecuted instantiation: mux_spop.c:isttest
Unexecuted instantiation: pattern.c:isttest
Unexecuted instantiation: payload.c:isttest
Unexecuted instantiation: proto_tcp.c:isttest
Unexecuted instantiation: shctx.c:isttest
Unexecuted instantiation: stats-file.c:isttest
Unexecuted instantiation: stats-json.c:isttest
Unexecuted instantiation: stats-proxy.c:isttest
Unexecuted instantiation: flt_spoe.c:isttest
Unexecuted instantiation: h1_htx.c:isttest
198
199
/* This function MODIFIES the string to add a zero AFTER the end, and returns
200
 * the start pointer. The purpose is to use it on strings extracted by parsers
201
 * from larger strings cut with delimiters that are not important and can be
202
 * destroyed. It allows any such string to be used with regular string
203
 * functions. It's also convenient to use with printf() to show data extracted
204
 * from writable areas. The caller is obviously responsible for ensuring that
205
 * the string is valid and that the first byte past the end is writable. If
206
 * these conditions cannot be satisfied, use istpad() below instead.
207
 */
208
static inline char *ist0(struct ist ist)
209
0
{
210
0
  ist.ptr[ist.len] = 0;
211
0
  return ist.ptr;
212
0
}
Unexecuted instantiation: fuzz_hpack_decode.c:ist0
Unexecuted instantiation: fuzz_cfg_parser.c:ist0
Unexecuted instantiation: cfgparse.c:ist0
Unexecuted instantiation: chunk.c:ist0
Unexecuted instantiation: cli.c:ist0
Unexecuted instantiation: clock.c:ist0
Unexecuted instantiation: connection.c:ist0
Unexecuted instantiation: debug.c:ist0
Unexecuted instantiation: dynbuf.c:ist0
Unexecuted instantiation: errors.c:ist0
Unexecuted instantiation: fd.c:ist0
Unexecuted instantiation: filters.c:ist0
Unexecuted instantiation: flt_http_comp.c:ist0
Unexecuted instantiation: freq_ctr.c:ist0
Unexecuted instantiation: frontend.c:ist0
Unexecuted instantiation: haproxy.c:ist0
Unexecuted instantiation: http.c:ist0
Unexecuted instantiation: http_ana.c:ist0
Unexecuted instantiation: http_ext.c:ist0
Unexecuted instantiation: http_htx.c:ist0
Unexecuted instantiation: http_rules.c:ist0
Unexecuted instantiation: htx.c:ist0
Unexecuted instantiation: lb_chash.c:ist0
Unexecuted instantiation: lb_fas.c:ist0
Unexecuted instantiation: lb_fwlc.c:ist0
Unexecuted instantiation: lb_fwrr.c:ist0
Unexecuted instantiation: lb_map.c:ist0
Unexecuted instantiation: lb_ss.c:ist0
Unexecuted instantiation: limits.c:ist0
Unexecuted instantiation: listener.c:ist0
Unexecuted instantiation: log.c:ist0
Unexecuted instantiation: mailers.c:ist0
Unexecuted instantiation: mworker.c:ist0
Unexecuted instantiation: peers.c:ist0
Unexecuted instantiation: pool.c:ist0
Unexecuted instantiation: proto_rhttp.c:ist0
Unexecuted instantiation: proto_sockpair.c:ist0
Unexecuted instantiation: protocol.c:ist0
Unexecuted instantiation: proxy.c:ist0
Unexecuted instantiation: queue.c:ist0
Unexecuted instantiation: regex.c:ist0
Unexecuted instantiation: resolvers.c:ist0
Unexecuted instantiation: ring.c:ist0
Unexecuted instantiation: sample.c:ist0
Unexecuted instantiation: server.c:ist0
Unexecuted instantiation: session.c:ist0
Unexecuted instantiation: signal.c:ist0
Unexecuted instantiation: sink.c:ist0
Unexecuted instantiation: sock.c:ist0
Unexecuted instantiation: sock_inet.c:ist0
Unexecuted instantiation: stats-html.c:ist0
Unexecuted instantiation: stats.c:ist0
Unexecuted instantiation: stconn.c:ist0
Unexecuted instantiation: stick_table.c:ist0
Unexecuted instantiation: stream.c:ist0
Unexecuted instantiation: systemd.c:ist0
Unexecuted instantiation: task.c:ist0
Unexecuted instantiation: tcp_rules.c:ist0
Unexecuted instantiation: tcpcheck.c:ist0
Unexecuted instantiation: thread.c:ist0
Unexecuted instantiation: tools.c:ist0
Unexecuted instantiation: trace.c:ist0
Unexecuted instantiation: uri_auth.c:ist0
Unexecuted instantiation: vars.c:ist0
Unexecuted instantiation: acl.c:ist0
Unexecuted instantiation: action.c:ist0
Unexecuted instantiation: activity.c:ist0
Unexecuted instantiation: applet.c:ist0
Unexecuted instantiation: arg.c:ist0
Unexecuted instantiation: auth.c:ist0
Unexecuted instantiation: backend.c:ist0
Unexecuted instantiation: cache.c:ist0
Unexecuted instantiation: cfgcond.c:ist0
Unexecuted instantiation: cfgparse-global.c:ist0
Unexecuted instantiation: cfgparse-listen.c:ist0
Unexecuted instantiation: channel.c:ist0
Unexecuted instantiation: check.c:ist0
Unexecuted instantiation: compression.c:ist0
Unexecuted instantiation: counters.c:ist0
Unexecuted instantiation: dgram.c:ist0
Unexecuted instantiation: dns.c:ist0
Unexecuted instantiation: dns_ring.c:ist0
Unexecuted instantiation: event_hdl.c:ist0
Unexecuted instantiation: extcheck.c:ist0
Unexecuted instantiation: fcgi-app.c:ist0
Unexecuted instantiation: fix.c:ist0
Unexecuted instantiation: guid.c:ist0
Unexecuted instantiation: h1.c:ist0
Unexecuted instantiation: http_fetch.c:ist0
Unexecuted instantiation: mqtt.c:ist0
Unexecuted instantiation: mux_spop.c:ist0
Unexecuted instantiation: pattern.c:ist0
Unexecuted instantiation: payload.c:ist0
Unexecuted instantiation: proto_tcp.c:ist0
Unexecuted instantiation: shctx.c:ist0
Unexecuted instantiation: stats-file.c:ist0
Unexecuted instantiation: stats-json.c:ist0
Unexecuted instantiation: stats-proxy.c:ist0
Unexecuted instantiation: flt_spoe.c:ist0
Unexecuted instantiation: h1_htx.c:ist0
213
214
/* returns the pointer of the string */
215
static inline char *istptr(const struct ist ist)
216
133
{
217
133
  return ist.ptr;
218
133
}
Unexecuted instantiation: fuzz_hpack_decode.c:istptr
Unexecuted instantiation: fuzz_cfg_parser.c:istptr
cfgparse.c:istptr
Line
Count
Source
216
133
{
217
133
  return ist.ptr;
218
133
}
Unexecuted instantiation: chunk.c:istptr
Unexecuted instantiation: cli.c:istptr
Unexecuted instantiation: clock.c:istptr
Unexecuted instantiation: connection.c:istptr
Unexecuted instantiation: debug.c:istptr
Unexecuted instantiation: dynbuf.c:istptr
Unexecuted instantiation: errors.c:istptr
Unexecuted instantiation: fd.c:istptr
Unexecuted instantiation: filters.c:istptr
Unexecuted instantiation: flt_http_comp.c:istptr
Unexecuted instantiation: freq_ctr.c:istptr
Unexecuted instantiation: frontend.c:istptr
Unexecuted instantiation: haproxy.c:istptr
Unexecuted instantiation: http.c:istptr
Unexecuted instantiation: http_ana.c:istptr
Unexecuted instantiation: http_ext.c:istptr
Unexecuted instantiation: http_htx.c:istptr
Unexecuted instantiation: http_rules.c:istptr
Unexecuted instantiation: htx.c:istptr
Unexecuted instantiation: lb_chash.c:istptr
Unexecuted instantiation: lb_fas.c:istptr
Unexecuted instantiation: lb_fwlc.c:istptr
Unexecuted instantiation: lb_fwrr.c:istptr
Unexecuted instantiation: lb_map.c:istptr
Unexecuted instantiation: lb_ss.c:istptr
Unexecuted instantiation: limits.c:istptr
Unexecuted instantiation: listener.c:istptr
Unexecuted instantiation: log.c:istptr
Unexecuted instantiation: mailers.c:istptr
Unexecuted instantiation: mworker.c:istptr
Unexecuted instantiation: peers.c:istptr
Unexecuted instantiation: pool.c:istptr
Unexecuted instantiation: proto_rhttp.c:istptr
Unexecuted instantiation: proto_sockpair.c:istptr
Unexecuted instantiation: protocol.c:istptr
Unexecuted instantiation: proxy.c:istptr
Unexecuted instantiation: queue.c:istptr
Unexecuted instantiation: regex.c:istptr
Unexecuted instantiation: resolvers.c:istptr
Unexecuted instantiation: ring.c:istptr
Unexecuted instantiation: sample.c:istptr
Unexecuted instantiation: server.c:istptr
Unexecuted instantiation: session.c:istptr
Unexecuted instantiation: signal.c:istptr
Unexecuted instantiation: sink.c:istptr
Unexecuted instantiation: sock.c:istptr
Unexecuted instantiation: sock_inet.c:istptr
Unexecuted instantiation: stats-html.c:istptr
Unexecuted instantiation: stats.c:istptr
Unexecuted instantiation: stconn.c:istptr
Unexecuted instantiation: stick_table.c:istptr
Unexecuted instantiation: stream.c:istptr
Unexecuted instantiation: systemd.c:istptr
Unexecuted instantiation: task.c:istptr
Unexecuted instantiation: tcp_rules.c:istptr
Unexecuted instantiation: tcpcheck.c:istptr
Unexecuted instantiation: thread.c:istptr
Unexecuted instantiation: tools.c:istptr
Unexecuted instantiation: trace.c:istptr
Unexecuted instantiation: uri_auth.c:istptr
Unexecuted instantiation: vars.c:istptr
Unexecuted instantiation: acl.c:istptr
Unexecuted instantiation: action.c:istptr
Unexecuted instantiation: activity.c:istptr
Unexecuted instantiation: applet.c:istptr
Unexecuted instantiation: arg.c:istptr
Unexecuted instantiation: auth.c:istptr
Unexecuted instantiation: backend.c:istptr
Unexecuted instantiation: cache.c:istptr
Unexecuted instantiation: cfgcond.c:istptr
Unexecuted instantiation: cfgparse-global.c:istptr
Unexecuted instantiation: cfgparse-listen.c:istptr
Unexecuted instantiation: channel.c:istptr
Unexecuted instantiation: check.c:istptr
Unexecuted instantiation: compression.c:istptr
Unexecuted instantiation: counters.c:istptr
Unexecuted instantiation: dgram.c:istptr
Unexecuted instantiation: dns.c:istptr
Unexecuted instantiation: dns_ring.c:istptr
Unexecuted instantiation: event_hdl.c:istptr
Unexecuted instantiation: extcheck.c:istptr
Unexecuted instantiation: fcgi-app.c:istptr
Unexecuted instantiation: fix.c:istptr
Unexecuted instantiation: guid.c:istptr
Unexecuted instantiation: h1.c:istptr
Unexecuted instantiation: http_fetch.c:istptr
Unexecuted instantiation: mqtt.c:istptr
Unexecuted instantiation: mux_spop.c:istptr
Unexecuted instantiation: pattern.c:istptr
Unexecuted instantiation: payload.c:istptr
Unexecuted instantiation: proto_tcp.c:istptr
Unexecuted instantiation: shctx.c:istptr
Unexecuted instantiation: stats-file.c:istptr
Unexecuted instantiation: stats-json.c:istptr
Unexecuted instantiation: stats-proxy.c:istptr
Unexecuted instantiation: flt_spoe.c:istptr
Unexecuted instantiation: h1_htx.c:istptr
219
220
/* returns the length of the string */
221
static inline size_t istlen(const struct ist ist)
222
3.18k
{
223
3.18k
  return ist.len;
224
3.18k
}
Unexecuted instantiation: fuzz_hpack_decode.c:istlen
Unexecuted instantiation: fuzz_cfg_parser.c:istlen
cfgparse.c:istlen
Line
Count
Source
222
133
{
223
133
  return ist.len;
224
133
}
Unexecuted instantiation: chunk.c:istlen
Unexecuted instantiation: cli.c:istlen
Unexecuted instantiation: clock.c:istlen
Unexecuted instantiation: connection.c:istlen
Unexecuted instantiation: debug.c:istlen
Unexecuted instantiation: dynbuf.c:istlen
Unexecuted instantiation: errors.c:istlen
Unexecuted instantiation: fd.c:istlen
Unexecuted instantiation: filters.c:istlen
Unexecuted instantiation: flt_http_comp.c:istlen
Unexecuted instantiation: freq_ctr.c:istlen
Unexecuted instantiation: frontend.c:istlen
Unexecuted instantiation: haproxy.c:istlen
Unexecuted instantiation: http.c:istlen
Unexecuted instantiation: http_ana.c:istlen
Unexecuted instantiation: http_ext.c:istlen
Unexecuted instantiation: http_htx.c:istlen
Unexecuted instantiation: http_rules.c:istlen
Unexecuted instantiation: htx.c:istlen
Unexecuted instantiation: lb_chash.c:istlen
Unexecuted instantiation: lb_fas.c:istlen
Unexecuted instantiation: lb_fwlc.c:istlen
Unexecuted instantiation: lb_fwrr.c:istlen
Unexecuted instantiation: lb_map.c:istlen
Unexecuted instantiation: lb_ss.c:istlen
Unexecuted instantiation: limits.c:istlen
Unexecuted instantiation: listener.c:istlen
Unexecuted instantiation: log.c:istlen
Unexecuted instantiation: mailers.c:istlen
Unexecuted instantiation: mworker.c:istlen
Unexecuted instantiation: peers.c:istlen
Unexecuted instantiation: pool.c:istlen
Unexecuted instantiation: proto_rhttp.c:istlen
Unexecuted instantiation: proto_sockpair.c:istlen
Unexecuted instantiation: protocol.c:istlen
Unexecuted instantiation: proxy.c:istlen
Unexecuted instantiation: queue.c:istlen
Unexecuted instantiation: regex.c:istlen
Unexecuted instantiation: resolvers.c:istlen
Unexecuted instantiation: ring.c:istlen
Unexecuted instantiation: sample.c:istlen
Unexecuted instantiation: server.c:istlen
Unexecuted instantiation: session.c:istlen
Unexecuted instantiation: signal.c:istlen
Unexecuted instantiation: sink.c:istlen
Unexecuted instantiation: sock.c:istlen
Unexecuted instantiation: sock_inet.c:istlen
Unexecuted instantiation: stats-html.c:istlen
Unexecuted instantiation: stats.c:istlen
Unexecuted instantiation: stconn.c:istlen
Unexecuted instantiation: stick_table.c:istlen
Unexecuted instantiation: stream.c:istlen
Unexecuted instantiation: systemd.c:istlen
Unexecuted instantiation: task.c:istlen
Unexecuted instantiation: tcp_rules.c:istlen
Unexecuted instantiation: tcpcheck.c:istlen
Unexecuted instantiation: thread.c:istlen
tools.c:istlen
Line
Count
Source
222
3.05k
{
223
3.05k
  return ist.len;
224
3.05k
}
Unexecuted instantiation: trace.c:istlen
Unexecuted instantiation: uri_auth.c:istlen
Unexecuted instantiation: vars.c:istlen
Unexecuted instantiation: acl.c:istlen
Unexecuted instantiation: action.c:istlen
Unexecuted instantiation: activity.c:istlen
Unexecuted instantiation: applet.c:istlen
Unexecuted instantiation: arg.c:istlen
Unexecuted instantiation: auth.c:istlen
Unexecuted instantiation: backend.c:istlen
Unexecuted instantiation: cache.c:istlen
Unexecuted instantiation: cfgcond.c:istlen
Unexecuted instantiation: cfgparse-global.c:istlen
Unexecuted instantiation: cfgparse-listen.c:istlen
Unexecuted instantiation: channel.c:istlen
Unexecuted instantiation: check.c:istlen
Unexecuted instantiation: compression.c:istlen
Unexecuted instantiation: counters.c:istlen
Unexecuted instantiation: dgram.c:istlen
Unexecuted instantiation: dns.c:istlen
Unexecuted instantiation: dns_ring.c:istlen
Unexecuted instantiation: event_hdl.c:istlen
Unexecuted instantiation: extcheck.c:istlen
Unexecuted instantiation: fcgi-app.c:istlen
Unexecuted instantiation: fix.c:istlen
Unexecuted instantiation: guid.c:istlen
Unexecuted instantiation: h1.c:istlen
Unexecuted instantiation: http_fetch.c:istlen
Unexecuted instantiation: mqtt.c:istlen
Unexecuted instantiation: mux_spop.c:istlen
Unexecuted instantiation: pattern.c:istlen
Unexecuted instantiation: payload.c:istlen
Unexecuted instantiation: proto_tcp.c:istlen
Unexecuted instantiation: shctx.c:istlen
Unexecuted instantiation: stats-file.c:istlen
Unexecuted instantiation: stats-json.c:istlen
Unexecuted instantiation: stats-proxy.c:istlen
Unexecuted instantiation: flt_spoe.c:istlen
Unexecuted instantiation: h1_htx.c:istlen
225
226
/* returns the pointer to the end the string */
227
static inline char *istend(const struct ist ist)
228
0
{
229
0
  return (ist.ptr + ist.len);
230
0
}
Unexecuted instantiation: fuzz_hpack_decode.c:istend
Unexecuted instantiation: fuzz_cfg_parser.c:istend
Unexecuted instantiation: cfgparse.c:istend
Unexecuted instantiation: chunk.c:istend
Unexecuted instantiation: cli.c:istend
Unexecuted instantiation: clock.c:istend
Unexecuted instantiation: connection.c:istend
Unexecuted instantiation: debug.c:istend
Unexecuted instantiation: dynbuf.c:istend
Unexecuted instantiation: errors.c:istend
Unexecuted instantiation: fd.c:istend
Unexecuted instantiation: filters.c:istend
Unexecuted instantiation: flt_http_comp.c:istend
Unexecuted instantiation: freq_ctr.c:istend
Unexecuted instantiation: frontend.c:istend
Unexecuted instantiation: haproxy.c:istend
Unexecuted instantiation: http.c:istend
Unexecuted instantiation: http_ana.c:istend
Unexecuted instantiation: http_ext.c:istend
Unexecuted instantiation: http_htx.c:istend
Unexecuted instantiation: http_rules.c:istend
Unexecuted instantiation: htx.c:istend
Unexecuted instantiation: lb_chash.c:istend
Unexecuted instantiation: lb_fas.c:istend
Unexecuted instantiation: lb_fwlc.c:istend
Unexecuted instantiation: lb_fwrr.c:istend
Unexecuted instantiation: lb_map.c:istend
Unexecuted instantiation: lb_ss.c:istend
Unexecuted instantiation: limits.c:istend
Unexecuted instantiation: listener.c:istend
Unexecuted instantiation: log.c:istend
Unexecuted instantiation: mailers.c:istend
Unexecuted instantiation: mworker.c:istend
Unexecuted instantiation: peers.c:istend
Unexecuted instantiation: pool.c:istend
Unexecuted instantiation: proto_rhttp.c:istend
Unexecuted instantiation: proto_sockpair.c:istend
Unexecuted instantiation: protocol.c:istend
Unexecuted instantiation: proxy.c:istend
Unexecuted instantiation: queue.c:istend
Unexecuted instantiation: regex.c:istend
Unexecuted instantiation: resolvers.c:istend
Unexecuted instantiation: ring.c:istend
Unexecuted instantiation: sample.c:istend
Unexecuted instantiation: server.c:istend
Unexecuted instantiation: session.c:istend
Unexecuted instantiation: signal.c:istend
Unexecuted instantiation: sink.c:istend
Unexecuted instantiation: sock.c:istend
Unexecuted instantiation: sock_inet.c:istend
Unexecuted instantiation: stats-html.c:istend
Unexecuted instantiation: stats.c:istend
Unexecuted instantiation: stconn.c:istend
Unexecuted instantiation: stick_table.c:istend
Unexecuted instantiation: stream.c:istend
Unexecuted instantiation: systemd.c:istend
Unexecuted instantiation: task.c:istend
Unexecuted instantiation: tcp_rules.c:istend
Unexecuted instantiation: tcpcheck.c:istend
Unexecuted instantiation: thread.c:istend
Unexecuted instantiation: tools.c:istend
Unexecuted instantiation: trace.c:istend
Unexecuted instantiation: uri_auth.c:istend
Unexecuted instantiation: vars.c:istend
Unexecuted instantiation: acl.c:istend
Unexecuted instantiation: action.c:istend
Unexecuted instantiation: activity.c:istend
Unexecuted instantiation: applet.c:istend
Unexecuted instantiation: arg.c:istend
Unexecuted instantiation: auth.c:istend
Unexecuted instantiation: backend.c:istend
Unexecuted instantiation: cache.c:istend
Unexecuted instantiation: cfgcond.c:istend
Unexecuted instantiation: cfgparse-global.c:istend
Unexecuted instantiation: cfgparse-listen.c:istend
Unexecuted instantiation: channel.c:istend
Unexecuted instantiation: check.c:istend
Unexecuted instantiation: compression.c:istend
Unexecuted instantiation: counters.c:istend
Unexecuted instantiation: dgram.c:istend
Unexecuted instantiation: dns.c:istend
Unexecuted instantiation: dns_ring.c:istend
Unexecuted instantiation: event_hdl.c:istend
Unexecuted instantiation: extcheck.c:istend
Unexecuted instantiation: fcgi-app.c:istend
Unexecuted instantiation: fix.c:istend
Unexecuted instantiation: guid.c:istend
Unexecuted instantiation: h1.c:istend
Unexecuted instantiation: http_fetch.c:istend
Unexecuted instantiation: mqtt.c:istend
Unexecuted instantiation: mux_spop.c:istend
Unexecuted instantiation: pattern.c:istend
Unexecuted instantiation: payload.c:istend
Unexecuted instantiation: proto_tcp.c:istend
Unexecuted instantiation: shctx.c:istend
Unexecuted instantiation: stats-file.c:istend
Unexecuted instantiation: stats-json.c:istend
Unexecuted instantiation: stats-proxy.c:istend
Unexecuted instantiation: flt_spoe.c:istend
Unexecuted instantiation: h1_htx.c:istend
231
232
/* skips to next character in the string, always stops at the end */
233
static inline struct ist istnext(const struct ist ist)
234
0
{
235
0
  struct ist ret = ist;
236
237
0
  if (ret.len) {
238
0
    ret.len--;
239
0
    ret.ptr++;
240
0
  }
241
0
  return ret;
242
0
}
Unexecuted instantiation: fuzz_hpack_decode.c:istnext
Unexecuted instantiation: fuzz_cfg_parser.c:istnext
Unexecuted instantiation: cfgparse.c:istnext
Unexecuted instantiation: chunk.c:istnext
Unexecuted instantiation: cli.c:istnext
Unexecuted instantiation: clock.c:istnext
Unexecuted instantiation: connection.c:istnext
Unexecuted instantiation: debug.c:istnext
Unexecuted instantiation: dynbuf.c:istnext
Unexecuted instantiation: errors.c:istnext
Unexecuted instantiation: fd.c:istnext
Unexecuted instantiation: filters.c:istnext
Unexecuted instantiation: flt_http_comp.c:istnext
Unexecuted instantiation: freq_ctr.c:istnext
Unexecuted instantiation: frontend.c:istnext
Unexecuted instantiation: haproxy.c:istnext
Unexecuted instantiation: http.c:istnext
Unexecuted instantiation: http_ana.c:istnext
Unexecuted instantiation: http_ext.c:istnext
Unexecuted instantiation: http_htx.c:istnext
Unexecuted instantiation: http_rules.c:istnext
Unexecuted instantiation: htx.c:istnext
Unexecuted instantiation: lb_chash.c:istnext
Unexecuted instantiation: lb_fas.c:istnext
Unexecuted instantiation: lb_fwlc.c:istnext
Unexecuted instantiation: lb_fwrr.c:istnext
Unexecuted instantiation: lb_map.c:istnext
Unexecuted instantiation: lb_ss.c:istnext
Unexecuted instantiation: limits.c:istnext
Unexecuted instantiation: listener.c:istnext
Unexecuted instantiation: log.c:istnext
Unexecuted instantiation: mailers.c:istnext
Unexecuted instantiation: mworker.c:istnext
Unexecuted instantiation: peers.c:istnext
Unexecuted instantiation: pool.c:istnext
Unexecuted instantiation: proto_rhttp.c:istnext
Unexecuted instantiation: proto_sockpair.c:istnext
Unexecuted instantiation: protocol.c:istnext
Unexecuted instantiation: proxy.c:istnext
Unexecuted instantiation: queue.c:istnext
Unexecuted instantiation: regex.c:istnext
Unexecuted instantiation: resolvers.c:istnext
Unexecuted instantiation: ring.c:istnext
Unexecuted instantiation: sample.c:istnext
Unexecuted instantiation: server.c:istnext
Unexecuted instantiation: session.c:istnext
Unexecuted instantiation: signal.c:istnext
Unexecuted instantiation: sink.c:istnext
Unexecuted instantiation: sock.c:istnext
Unexecuted instantiation: sock_inet.c:istnext
Unexecuted instantiation: stats-html.c:istnext
Unexecuted instantiation: stats.c:istnext
Unexecuted instantiation: stconn.c:istnext
Unexecuted instantiation: stick_table.c:istnext
Unexecuted instantiation: stream.c:istnext
Unexecuted instantiation: systemd.c:istnext
Unexecuted instantiation: task.c:istnext
Unexecuted instantiation: tcp_rules.c:istnext
Unexecuted instantiation: tcpcheck.c:istnext
Unexecuted instantiation: thread.c:istnext
Unexecuted instantiation: tools.c:istnext
Unexecuted instantiation: trace.c:istnext
Unexecuted instantiation: uri_auth.c:istnext
Unexecuted instantiation: vars.c:istnext
Unexecuted instantiation: acl.c:istnext
Unexecuted instantiation: action.c:istnext
Unexecuted instantiation: activity.c:istnext
Unexecuted instantiation: applet.c:istnext
Unexecuted instantiation: arg.c:istnext
Unexecuted instantiation: auth.c:istnext
Unexecuted instantiation: backend.c:istnext
Unexecuted instantiation: cache.c:istnext
Unexecuted instantiation: cfgcond.c:istnext
Unexecuted instantiation: cfgparse-global.c:istnext
Unexecuted instantiation: cfgparse-listen.c:istnext
Unexecuted instantiation: channel.c:istnext
Unexecuted instantiation: check.c:istnext
Unexecuted instantiation: compression.c:istnext
Unexecuted instantiation: counters.c:istnext
Unexecuted instantiation: dgram.c:istnext
Unexecuted instantiation: dns.c:istnext
Unexecuted instantiation: dns_ring.c:istnext
Unexecuted instantiation: event_hdl.c:istnext
Unexecuted instantiation: extcheck.c:istnext
Unexecuted instantiation: fcgi-app.c:istnext
Unexecuted instantiation: fix.c:istnext
Unexecuted instantiation: guid.c:istnext
Unexecuted instantiation: h1.c:istnext
Unexecuted instantiation: http_fetch.c:istnext
Unexecuted instantiation: mqtt.c:istnext
Unexecuted instantiation: mux_spop.c:istnext
Unexecuted instantiation: pattern.c:istnext
Unexecuted instantiation: payload.c:istnext
Unexecuted instantiation: proto_tcp.c:istnext
Unexecuted instantiation: shctx.c:istnext
Unexecuted instantiation: stats-file.c:istnext
Unexecuted instantiation: stats-json.c:istnext
Unexecuted instantiation: stats-proxy.c:istnext
Unexecuted instantiation: flt_spoe.c:istnext
Unexecuted instantiation: h1_htx.c:istnext
243
244
/* Returns the first character of the <ist> and advances the <ist> by 1.
245
 * If the <ist> is empty the result is undefined.
246
 */
247
static inline char istshift(struct ist *ist)
248
0
{
249
0
  if (ist->len) {
250
0
    char c = *ist->ptr;
251
0
    *ist = istnext(*ist);
252
0
253
0
    return c;
254
0
  }
255
0
256
0
  return 0;
257
0
}
Unexecuted instantiation: fuzz_hpack_decode.c:istshift
Unexecuted instantiation: fuzz_cfg_parser.c:istshift
Unexecuted instantiation: cfgparse.c:istshift
Unexecuted instantiation: chunk.c:istshift
Unexecuted instantiation: cli.c:istshift
Unexecuted instantiation: clock.c:istshift
Unexecuted instantiation: connection.c:istshift
Unexecuted instantiation: debug.c:istshift
Unexecuted instantiation: dynbuf.c:istshift
Unexecuted instantiation: errors.c:istshift
Unexecuted instantiation: fd.c:istshift
Unexecuted instantiation: filters.c:istshift
Unexecuted instantiation: flt_http_comp.c:istshift
Unexecuted instantiation: freq_ctr.c:istshift
Unexecuted instantiation: frontend.c:istshift
Unexecuted instantiation: haproxy.c:istshift
Unexecuted instantiation: http.c:istshift
Unexecuted instantiation: http_ana.c:istshift
Unexecuted instantiation: http_ext.c:istshift
Unexecuted instantiation: http_htx.c:istshift
Unexecuted instantiation: http_rules.c:istshift
Unexecuted instantiation: htx.c:istshift
Unexecuted instantiation: lb_chash.c:istshift
Unexecuted instantiation: lb_fas.c:istshift
Unexecuted instantiation: lb_fwlc.c:istshift
Unexecuted instantiation: lb_fwrr.c:istshift
Unexecuted instantiation: lb_map.c:istshift
Unexecuted instantiation: lb_ss.c:istshift
Unexecuted instantiation: limits.c:istshift
Unexecuted instantiation: listener.c:istshift
Unexecuted instantiation: log.c:istshift
Unexecuted instantiation: mailers.c:istshift
Unexecuted instantiation: mworker.c:istshift
Unexecuted instantiation: peers.c:istshift
Unexecuted instantiation: pool.c:istshift
Unexecuted instantiation: proto_rhttp.c:istshift
Unexecuted instantiation: proto_sockpair.c:istshift
Unexecuted instantiation: protocol.c:istshift
Unexecuted instantiation: proxy.c:istshift
Unexecuted instantiation: queue.c:istshift
Unexecuted instantiation: regex.c:istshift
Unexecuted instantiation: resolvers.c:istshift
Unexecuted instantiation: ring.c:istshift
Unexecuted instantiation: sample.c:istshift
Unexecuted instantiation: server.c:istshift
Unexecuted instantiation: session.c:istshift
Unexecuted instantiation: signal.c:istshift
Unexecuted instantiation: sink.c:istshift
Unexecuted instantiation: sock.c:istshift
Unexecuted instantiation: sock_inet.c:istshift
Unexecuted instantiation: stats-html.c:istshift
Unexecuted instantiation: stats.c:istshift
Unexecuted instantiation: stconn.c:istshift
Unexecuted instantiation: stick_table.c:istshift
Unexecuted instantiation: stream.c:istshift
Unexecuted instantiation: systemd.c:istshift
Unexecuted instantiation: task.c:istshift
Unexecuted instantiation: tcp_rules.c:istshift
Unexecuted instantiation: tcpcheck.c:istshift
Unexecuted instantiation: thread.c:istshift
Unexecuted instantiation: tools.c:istshift
Unexecuted instantiation: trace.c:istshift
Unexecuted instantiation: uri_auth.c:istshift
Unexecuted instantiation: vars.c:istshift
Unexecuted instantiation: acl.c:istshift
Unexecuted instantiation: action.c:istshift
Unexecuted instantiation: activity.c:istshift
Unexecuted instantiation: applet.c:istshift
Unexecuted instantiation: arg.c:istshift
Unexecuted instantiation: auth.c:istshift
Unexecuted instantiation: backend.c:istshift
Unexecuted instantiation: cache.c:istshift
Unexecuted instantiation: cfgcond.c:istshift
Unexecuted instantiation: cfgparse-global.c:istshift
Unexecuted instantiation: cfgparse-listen.c:istshift
Unexecuted instantiation: channel.c:istshift
Unexecuted instantiation: check.c:istshift
Unexecuted instantiation: compression.c:istshift
Unexecuted instantiation: counters.c:istshift
Unexecuted instantiation: dgram.c:istshift
Unexecuted instantiation: dns.c:istshift
Unexecuted instantiation: dns_ring.c:istshift
Unexecuted instantiation: event_hdl.c:istshift
Unexecuted instantiation: extcheck.c:istshift
Unexecuted instantiation: fcgi-app.c:istshift
Unexecuted instantiation: fix.c:istshift
Unexecuted instantiation: guid.c:istshift
Unexecuted instantiation: h1.c:istshift
Unexecuted instantiation: http_fetch.c:istshift
Unexecuted instantiation: mqtt.c:istshift
Unexecuted instantiation: mux_spop.c:istshift
Unexecuted instantiation: pattern.c:istshift
Unexecuted instantiation: payload.c:istshift
Unexecuted instantiation: proto_tcp.c:istshift
Unexecuted instantiation: shctx.c:istshift
Unexecuted instantiation: stats-file.c:istshift
Unexecuted instantiation: stats-json.c:istshift
Unexecuted instantiation: stats-proxy.c:istshift
Unexecuted instantiation: flt_spoe.c:istshift
Unexecuted instantiation: h1_htx.c:istshift
258
259
/* copies the contents from string <ist> to buffer <buf> and adds a trailing
260
 * zero. The caller must ensure <buf> is large enough.
261
 */
262
static inline struct ist istpad(void *buf, const struct ist ist)
263
0
{
264
0
  struct ist ret = { .ptr = buf, .len = ist.len };
265
0
266
0
  for (ret.len = 0; ret.len < ist.len; ret.len++)
267
0
    ret.ptr[ret.len] = ist.ptr[ret.len];
268
0
269
0
  ret.ptr[ret.len] = 0;
270
0
  return ret;
271
0
}
Unexecuted instantiation: fuzz_hpack_decode.c:istpad
Unexecuted instantiation: fuzz_cfg_parser.c:istpad
Unexecuted instantiation: cfgparse.c:istpad
Unexecuted instantiation: chunk.c:istpad
Unexecuted instantiation: cli.c:istpad
Unexecuted instantiation: clock.c:istpad
Unexecuted instantiation: connection.c:istpad
Unexecuted instantiation: debug.c:istpad
Unexecuted instantiation: dynbuf.c:istpad
Unexecuted instantiation: errors.c:istpad
Unexecuted instantiation: fd.c:istpad
Unexecuted instantiation: filters.c:istpad
Unexecuted instantiation: flt_http_comp.c:istpad
Unexecuted instantiation: freq_ctr.c:istpad
Unexecuted instantiation: frontend.c:istpad
Unexecuted instantiation: haproxy.c:istpad
Unexecuted instantiation: http.c:istpad
Unexecuted instantiation: http_ana.c:istpad
Unexecuted instantiation: http_ext.c:istpad
Unexecuted instantiation: http_htx.c:istpad
Unexecuted instantiation: http_rules.c:istpad
Unexecuted instantiation: htx.c:istpad
Unexecuted instantiation: lb_chash.c:istpad
Unexecuted instantiation: lb_fas.c:istpad
Unexecuted instantiation: lb_fwlc.c:istpad
Unexecuted instantiation: lb_fwrr.c:istpad
Unexecuted instantiation: lb_map.c:istpad
Unexecuted instantiation: lb_ss.c:istpad
Unexecuted instantiation: limits.c:istpad
Unexecuted instantiation: listener.c:istpad
Unexecuted instantiation: log.c:istpad
Unexecuted instantiation: mailers.c:istpad
Unexecuted instantiation: mworker.c:istpad
Unexecuted instantiation: peers.c:istpad
Unexecuted instantiation: pool.c:istpad
Unexecuted instantiation: proto_rhttp.c:istpad
Unexecuted instantiation: proto_sockpair.c:istpad
Unexecuted instantiation: protocol.c:istpad
Unexecuted instantiation: proxy.c:istpad
Unexecuted instantiation: queue.c:istpad
Unexecuted instantiation: regex.c:istpad
Unexecuted instantiation: resolvers.c:istpad
Unexecuted instantiation: ring.c:istpad
Unexecuted instantiation: sample.c:istpad
Unexecuted instantiation: server.c:istpad
Unexecuted instantiation: session.c:istpad
Unexecuted instantiation: signal.c:istpad
Unexecuted instantiation: sink.c:istpad
Unexecuted instantiation: sock.c:istpad
Unexecuted instantiation: sock_inet.c:istpad
Unexecuted instantiation: stats-html.c:istpad
Unexecuted instantiation: stats.c:istpad
Unexecuted instantiation: stconn.c:istpad
Unexecuted instantiation: stick_table.c:istpad
Unexecuted instantiation: stream.c:istpad
Unexecuted instantiation: systemd.c:istpad
Unexecuted instantiation: task.c:istpad
Unexecuted instantiation: tcp_rules.c:istpad
Unexecuted instantiation: tcpcheck.c:istpad
Unexecuted instantiation: thread.c:istpad
Unexecuted instantiation: tools.c:istpad
Unexecuted instantiation: trace.c:istpad
Unexecuted instantiation: uri_auth.c:istpad
Unexecuted instantiation: vars.c:istpad
Unexecuted instantiation: acl.c:istpad
Unexecuted instantiation: action.c:istpad
Unexecuted instantiation: activity.c:istpad
Unexecuted instantiation: applet.c:istpad
Unexecuted instantiation: arg.c:istpad
Unexecuted instantiation: auth.c:istpad
Unexecuted instantiation: backend.c:istpad
Unexecuted instantiation: cache.c:istpad
Unexecuted instantiation: cfgcond.c:istpad
Unexecuted instantiation: cfgparse-global.c:istpad
Unexecuted instantiation: cfgparse-listen.c:istpad
Unexecuted instantiation: channel.c:istpad
Unexecuted instantiation: check.c:istpad
Unexecuted instantiation: compression.c:istpad
Unexecuted instantiation: counters.c:istpad
Unexecuted instantiation: dgram.c:istpad
Unexecuted instantiation: dns.c:istpad
Unexecuted instantiation: dns_ring.c:istpad
Unexecuted instantiation: event_hdl.c:istpad
Unexecuted instantiation: extcheck.c:istpad
Unexecuted instantiation: fcgi-app.c:istpad
Unexecuted instantiation: fix.c:istpad
Unexecuted instantiation: guid.c:istpad
Unexecuted instantiation: h1.c:istpad
Unexecuted instantiation: http_fetch.c:istpad
Unexecuted instantiation: mqtt.c:istpad
Unexecuted instantiation: mux_spop.c:istpad
Unexecuted instantiation: pattern.c:istpad
Unexecuted instantiation: payload.c:istpad
Unexecuted instantiation: proto_tcp.c:istpad
Unexecuted instantiation: shctx.c:istpad
Unexecuted instantiation: stats-file.c:istpad
Unexecuted instantiation: stats-json.c:istpad
Unexecuted instantiation: stats-proxy.c:istpad
Unexecuted instantiation: flt_spoe.c:istpad
Unexecuted instantiation: h1_htx.c:istpad
272
273
/* trims string <ist> to no more than <size> characters. The string is
274
 * returned.
275
 */
276
static inline struct ist isttrim(const struct ist ist, size_t size)
277
0
{
278
0
  struct ist ret = ist;
279
280
0
  if (ret.len > size)
281
0
    ret.len = size;
282
0
  return ret;
283
0
}
Unexecuted instantiation: fuzz_hpack_decode.c:isttrim
Unexecuted instantiation: fuzz_cfg_parser.c:isttrim
Unexecuted instantiation: cfgparse.c:isttrim
Unexecuted instantiation: chunk.c:isttrim
Unexecuted instantiation: cli.c:isttrim
Unexecuted instantiation: clock.c:isttrim
Unexecuted instantiation: connection.c:isttrim
Unexecuted instantiation: debug.c:isttrim
Unexecuted instantiation: dynbuf.c:isttrim
Unexecuted instantiation: errors.c:isttrim
Unexecuted instantiation: fd.c:isttrim
Unexecuted instantiation: filters.c:isttrim
Unexecuted instantiation: flt_http_comp.c:isttrim
Unexecuted instantiation: freq_ctr.c:isttrim
Unexecuted instantiation: frontend.c:isttrim
Unexecuted instantiation: haproxy.c:isttrim
Unexecuted instantiation: http.c:isttrim
Unexecuted instantiation: http_ana.c:isttrim
Unexecuted instantiation: http_ext.c:isttrim
Unexecuted instantiation: http_htx.c:isttrim
Unexecuted instantiation: http_rules.c:isttrim
Unexecuted instantiation: htx.c:isttrim
Unexecuted instantiation: lb_chash.c:isttrim
Unexecuted instantiation: lb_fas.c:isttrim
Unexecuted instantiation: lb_fwlc.c:isttrim
Unexecuted instantiation: lb_fwrr.c:isttrim
Unexecuted instantiation: lb_map.c:isttrim
Unexecuted instantiation: lb_ss.c:isttrim
Unexecuted instantiation: limits.c:isttrim
Unexecuted instantiation: listener.c:isttrim
Unexecuted instantiation: log.c:isttrim
Unexecuted instantiation: mailers.c:isttrim
Unexecuted instantiation: mworker.c:isttrim
Unexecuted instantiation: peers.c:isttrim
Unexecuted instantiation: pool.c:isttrim
Unexecuted instantiation: proto_rhttp.c:isttrim
Unexecuted instantiation: proto_sockpair.c:isttrim
Unexecuted instantiation: protocol.c:isttrim
Unexecuted instantiation: proxy.c:isttrim
Unexecuted instantiation: queue.c:isttrim
Unexecuted instantiation: regex.c:isttrim
Unexecuted instantiation: resolvers.c:isttrim
Unexecuted instantiation: ring.c:isttrim
Unexecuted instantiation: sample.c:isttrim
Unexecuted instantiation: server.c:isttrim
Unexecuted instantiation: session.c:isttrim
Unexecuted instantiation: signal.c:isttrim
Unexecuted instantiation: sink.c:isttrim
Unexecuted instantiation: sock.c:isttrim
Unexecuted instantiation: sock_inet.c:isttrim
Unexecuted instantiation: stats-html.c:isttrim
Unexecuted instantiation: stats.c:isttrim
Unexecuted instantiation: stconn.c:isttrim
Unexecuted instantiation: stick_table.c:isttrim
Unexecuted instantiation: stream.c:isttrim
Unexecuted instantiation: systemd.c:isttrim
Unexecuted instantiation: task.c:isttrim
Unexecuted instantiation: tcp_rules.c:isttrim
Unexecuted instantiation: tcpcheck.c:isttrim
Unexecuted instantiation: thread.c:isttrim
Unexecuted instantiation: tools.c:isttrim
Unexecuted instantiation: trace.c:isttrim
Unexecuted instantiation: uri_auth.c:isttrim
Unexecuted instantiation: vars.c:isttrim
Unexecuted instantiation: acl.c:isttrim
Unexecuted instantiation: action.c:isttrim
Unexecuted instantiation: activity.c:isttrim
Unexecuted instantiation: applet.c:isttrim
Unexecuted instantiation: arg.c:isttrim
Unexecuted instantiation: auth.c:isttrim
Unexecuted instantiation: backend.c:isttrim
Unexecuted instantiation: cache.c:isttrim
Unexecuted instantiation: cfgcond.c:isttrim
Unexecuted instantiation: cfgparse-global.c:isttrim
Unexecuted instantiation: cfgparse-listen.c:isttrim
Unexecuted instantiation: channel.c:isttrim
Unexecuted instantiation: check.c:isttrim
Unexecuted instantiation: compression.c:isttrim
Unexecuted instantiation: counters.c:isttrim
Unexecuted instantiation: dgram.c:isttrim
Unexecuted instantiation: dns.c:isttrim
Unexecuted instantiation: dns_ring.c:isttrim
Unexecuted instantiation: event_hdl.c:isttrim
Unexecuted instantiation: extcheck.c:isttrim
Unexecuted instantiation: fcgi-app.c:isttrim
Unexecuted instantiation: fix.c:isttrim
Unexecuted instantiation: guid.c:isttrim
Unexecuted instantiation: h1.c:isttrim
Unexecuted instantiation: http_fetch.c:isttrim
Unexecuted instantiation: mqtt.c:isttrim
Unexecuted instantiation: mux_spop.c:isttrim
Unexecuted instantiation: pattern.c:isttrim
Unexecuted instantiation: payload.c:isttrim
Unexecuted instantiation: proto_tcp.c:isttrim
Unexecuted instantiation: shctx.c:isttrim
Unexecuted instantiation: stats-file.c:isttrim
Unexecuted instantiation: stats-json.c:isttrim
Unexecuted instantiation: stats-proxy.c:isttrim
Unexecuted instantiation: flt_spoe.c:isttrim
Unexecuted instantiation: h1_htx.c:isttrim
284
285
/* Sets the <len> of the <ist> to zero and returns the previous length.
286
 *
287
 * This function is meant to be used in functions that receive an ist containing
288
 * the destination buffer and the buffer's size. The returned size must be stored
289
 * to prevent an overflow of such a destination buffer.
290
 *
291
 * If you simply want to clear an ist and do not care about the previous length
292
 * then you should use `isttrim(ist, 0)`.
293
 *
294
 * Example Usage (fill the complete buffer with 'x'):
295
 *
296
 * void my_func(struct ist* dst)
297
 * {
298
 *  size_t dst_size = istclear(dst);
299
 *  size_t i;
300
 *
301
 *  for (i = 0; i < dst_size; i++)
302
 *    *dst = __istappend(*dst, 'x');
303
 * }
304
 */
305
__attribute__((warn_unused_result))
306
static inline size_t istclear(struct ist* ist)
307
0
{
308
0
  size_t len = ist->len;
309
0
310
0
  ist->len = 0;
311
0
312
0
  return len;
313
0
}
Unexecuted instantiation: fuzz_hpack_decode.c:istclear
Unexecuted instantiation: fuzz_cfg_parser.c:istclear
Unexecuted instantiation: cfgparse.c:istclear
Unexecuted instantiation: chunk.c:istclear
Unexecuted instantiation: cli.c:istclear
Unexecuted instantiation: clock.c:istclear
Unexecuted instantiation: connection.c:istclear
Unexecuted instantiation: debug.c:istclear
Unexecuted instantiation: dynbuf.c:istclear
Unexecuted instantiation: errors.c:istclear
Unexecuted instantiation: fd.c:istclear
Unexecuted instantiation: filters.c:istclear
Unexecuted instantiation: flt_http_comp.c:istclear
Unexecuted instantiation: freq_ctr.c:istclear
Unexecuted instantiation: frontend.c:istclear
Unexecuted instantiation: haproxy.c:istclear
Unexecuted instantiation: http.c:istclear
Unexecuted instantiation: http_ana.c:istclear
Unexecuted instantiation: http_ext.c:istclear
Unexecuted instantiation: http_htx.c:istclear
Unexecuted instantiation: http_rules.c:istclear
Unexecuted instantiation: htx.c:istclear
Unexecuted instantiation: lb_chash.c:istclear
Unexecuted instantiation: lb_fas.c:istclear
Unexecuted instantiation: lb_fwlc.c:istclear
Unexecuted instantiation: lb_fwrr.c:istclear
Unexecuted instantiation: lb_map.c:istclear
Unexecuted instantiation: lb_ss.c:istclear
Unexecuted instantiation: limits.c:istclear
Unexecuted instantiation: listener.c:istclear
Unexecuted instantiation: log.c:istclear
Unexecuted instantiation: mailers.c:istclear
Unexecuted instantiation: mworker.c:istclear
Unexecuted instantiation: peers.c:istclear
Unexecuted instantiation: pool.c:istclear
Unexecuted instantiation: proto_rhttp.c:istclear
Unexecuted instantiation: proto_sockpair.c:istclear
Unexecuted instantiation: protocol.c:istclear
Unexecuted instantiation: proxy.c:istclear
Unexecuted instantiation: queue.c:istclear
Unexecuted instantiation: regex.c:istclear
Unexecuted instantiation: resolvers.c:istclear
Unexecuted instantiation: ring.c:istclear
Unexecuted instantiation: sample.c:istclear
Unexecuted instantiation: server.c:istclear
Unexecuted instantiation: session.c:istclear
Unexecuted instantiation: signal.c:istclear
Unexecuted instantiation: sink.c:istclear
Unexecuted instantiation: sock.c:istclear
Unexecuted instantiation: sock_inet.c:istclear
Unexecuted instantiation: stats-html.c:istclear
Unexecuted instantiation: stats.c:istclear
Unexecuted instantiation: stconn.c:istclear
Unexecuted instantiation: stick_table.c:istclear
Unexecuted instantiation: stream.c:istclear
Unexecuted instantiation: systemd.c:istclear
Unexecuted instantiation: task.c:istclear
Unexecuted instantiation: tcp_rules.c:istclear
Unexecuted instantiation: tcpcheck.c:istclear
Unexecuted instantiation: thread.c:istclear
Unexecuted instantiation: tools.c:istclear
Unexecuted instantiation: trace.c:istclear
Unexecuted instantiation: uri_auth.c:istclear
Unexecuted instantiation: vars.c:istclear
Unexecuted instantiation: acl.c:istclear
Unexecuted instantiation: action.c:istclear
Unexecuted instantiation: activity.c:istclear
Unexecuted instantiation: applet.c:istclear
Unexecuted instantiation: arg.c:istclear
Unexecuted instantiation: auth.c:istclear
Unexecuted instantiation: backend.c:istclear
Unexecuted instantiation: cache.c:istclear
Unexecuted instantiation: cfgcond.c:istclear
Unexecuted instantiation: cfgparse-global.c:istclear
Unexecuted instantiation: cfgparse-listen.c:istclear
Unexecuted instantiation: channel.c:istclear
Unexecuted instantiation: check.c:istclear
Unexecuted instantiation: compression.c:istclear
Unexecuted instantiation: counters.c:istclear
Unexecuted instantiation: dgram.c:istclear
Unexecuted instantiation: dns.c:istclear
Unexecuted instantiation: dns_ring.c:istclear
Unexecuted instantiation: event_hdl.c:istclear
Unexecuted instantiation: extcheck.c:istclear
Unexecuted instantiation: fcgi-app.c:istclear
Unexecuted instantiation: fix.c:istclear
Unexecuted instantiation: guid.c:istclear
Unexecuted instantiation: h1.c:istclear
Unexecuted instantiation: http_fetch.c:istclear
Unexecuted instantiation: mqtt.c:istclear
Unexecuted instantiation: mux_spop.c:istclear
Unexecuted instantiation: pattern.c:istclear
Unexecuted instantiation: payload.c:istclear
Unexecuted instantiation: proto_tcp.c:istclear
Unexecuted instantiation: shctx.c:istclear
Unexecuted instantiation: stats-file.c:istclear
Unexecuted instantiation: stats-json.c:istclear
Unexecuted instantiation: stats-proxy.c:istclear
Unexecuted instantiation: flt_spoe.c:istclear
Unexecuted instantiation: h1_htx.c:istclear
314
315
/* trims string <ist> to no more than <size>-1 characters and ensures that a
316
 * zero is placed after <ist.len> (possibly reduced by one) and before <size>,
317
 * unless <size> is already zero. The string is returned. This is mostly aimed
318
 * at building printable strings that need to be zero-terminated.
319
 */
320
static inline struct ist istzero(const struct ist ist, size_t size)
321
0
{
322
0
  struct ist ret = ist;
323
0
324
0
  if (!size)
325
0
    ret.len = 0;
326
0
  else {
327
0
    if (ret.len > size - 1)
328
0
      ret.len = size - 1;
329
0
    ret.ptr[ret.len] = 0;
330
0
  }
331
0
  return ret;
332
0
}
Unexecuted instantiation: fuzz_hpack_decode.c:istzero
Unexecuted instantiation: fuzz_cfg_parser.c:istzero
Unexecuted instantiation: cfgparse.c:istzero
Unexecuted instantiation: chunk.c:istzero
Unexecuted instantiation: cli.c:istzero
Unexecuted instantiation: clock.c:istzero
Unexecuted instantiation: connection.c:istzero
Unexecuted instantiation: debug.c:istzero
Unexecuted instantiation: dynbuf.c:istzero
Unexecuted instantiation: errors.c:istzero
Unexecuted instantiation: fd.c:istzero
Unexecuted instantiation: filters.c:istzero
Unexecuted instantiation: flt_http_comp.c:istzero
Unexecuted instantiation: freq_ctr.c:istzero
Unexecuted instantiation: frontend.c:istzero
Unexecuted instantiation: haproxy.c:istzero
Unexecuted instantiation: http.c:istzero
Unexecuted instantiation: http_ana.c:istzero
Unexecuted instantiation: http_ext.c:istzero
Unexecuted instantiation: http_htx.c:istzero
Unexecuted instantiation: http_rules.c:istzero
Unexecuted instantiation: htx.c:istzero
Unexecuted instantiation: lb_chash.c:istzero
Unexecuted instantiation: lb_fas.c:istzero
Unexecuted instantiation: lb_fwlc.c:istzero
Unexecuted instantiation: lb_fwrr.c:istzero
Unexecuted instantiation: lb_map.c:istzero
Unexecuted instantiation: lb_ss.c:istzero
Unexecuted instantiation: limits.c:istzero
Unexecuted instantiation: listener.c:istzero
Unexecuted instantiation: log.c:istzero
Unexecuted instantiation: mailers.c:istzero
Unexecuted instantiation: mworker.c:istzero
Unexecuted instantiation: peers.c:istzero
Unexecuted instantiation: pool.c:istzero
Unexecuted instantiation: proto_rhttp.c:istzero
Unexecuted instantiation: proto_sockpair.c:istzero
Unexecuted instantiation: protocol.c:istzero
Unexecuted instantiation: proxy.c:istzero
Unexecuted instantiation: queue.c:istzero
Unexecuted instantiation: regex.c:istzero
Unexecuted instantiation: resolvers.c:istzero
Unexecuted instantiation: ring.c:istzero
Unexecuted instantiation: sample.c:istzero
Unexecuted instantiation: server.c:istzero
Unexecuted instantiation: session.c:istzero
Unexecuted instantiation: signal.c:istzero
Unexecuted instantiation: sink.c:istzero
Unexecuted instantiation: sock.c:istzero
Unexecuted instantiation: sock_inet.c:istzero
Unexecuted instantiation: stats-html.c:istzero
Unexecuted instantiation: stats.c:istzero
Unexecuted instantiation: stconn.c:istzero
Unexecuted instantiation: stick_table.c:istzero
Unexecuted instantiation: stream.c:istzero
Unexecuted instantiation: systemd.c:istzero
Unexecuted instantiation: task.c:istzero
Unexecuted instantiation: tcp_rules.c:istzero
Unexecuted instantiation: tcpcheck.c:istzero
Unexecuted instantiation: thread.c:istzero
Unexecuted instantiation: tools.c:istzero
Unexecuted instantiation: trace.c:istzero
Unexecuted instantiation: uri_auth.c:istzero
Unexecuted instantiation: vars.c:istzero
Unexecuted instantiation: acl.c:istzero
Unexecuted instantiation: action.c:istzero
Unexecuted instantiation: activity.c:istzero
Unexecuted instantiation: applet.c:istzero
Unexecuted instantiation: arg.c:istzero
Unexecuted instantiation: auth.c:istzero
Unexecuted instantiation: backend.c:istzero
Unexecuted instantiation: cache.c:istzero
Unexecuted instantiation: cfgcond.c:istzero
Unexecuted instantiation: cfgparse-global.c:istzero
Unexecuted instantiation: cfgparse-listen.c:istzero
Unexecuted instantiation: channel.c:istzero
Unexecuted instantiation: check.c:istzero
Unexecuted instantiation: compression.c:istzero
Unexecuted instantiation: counters.c:istzero
Unexecuted instantiation: dgram.c:istzero
Unexecuted instantiation: dns.c:istzero
Unexecuted instantiation: dns_ring.c:istzero
Unexecuted instantiation: event_hdl.c:istzero
Unexecuted instantiation: extcheck.c:istzero
Unexecuted instantiation: fcgi-app.c:istzero
Unexecuted instantiation: fix.c:istzero
Unexecuted instantiation: guid.c:istzero
Unexecuted instantiation: h1.c:istzero
Unexecuted instantiation: http_fetch.c:istzero
Unexecuted instantiation: mqtt.c:istzero
Unexecuted instantiation: mux_spop.c:istzero
Unexecuted instantiation: pattern.c:istzero
Unexecuted instantiation: payload.c:istzero
Unexecuted instantiation: proto_tcp.c:istzero
Unexecuted instantiation: shctx.c:istzero
Unexecuted instantiation: stats-file.c:istzero
Unexecuted instantiation: stats-json.c:istzero
Unexecuted instantiation: stats-proxy.c:istzero
Unexecuted instantiation: flt_spoe.c:istzero
Unexecuted instantiation: h1_htx.c:istzero
333
334
/* Remove trailing newline characters if present in <ist> by reducing its
335
 * length. Both '\n', '\r' and '\n\r' match. Return the modified ist.
336
 */
337
static inline struct ist iststrip(const struct ist ist)
338
0
{
339
0
  struct ist ret = ist;
340
341
0
  if (ret.len) {
342
0
    if (ret.ptr[ret.len - 1] == '\n')
343
0
      --ret.len;
344
0
  }
345
0
  if (ret.len) {
346
0
    if (ret.ptr[ret.len - 1] == '\r')
347
0
      --ret.len;
348
0
  }
349
350
0
  return ret;
351
0
}
Unexecuted instantiation: fuzz_hpack_decode.c:iststrip
Unexecuted instantiation: fuzz_cfg_parser.c:iststrip
Unexecuted instantiation: cfgparse.c:iststrip
Unexecuted instantiation: chunk.c:iststrip
Unexecuted instantiation: cli.c:iststrip
Unexecuted instantiation: clock.c:iststrip
Unexecuted instantiation: connection.c:iststrip
Unexecuted instantiation: debug.c:iststrip
Unexecuted instantiation: dynbuf.c:iststrip
Unexecuted instantiation: errors.c:iststrip
Unexecuted instantiation: fd.c:iststrip
Unexecuted instantiation: filters.c:iststrip
Unexecuted instantiation: flt_http_comp.c:iststrip
Unexecuted instantiation: freq_ctr.c:iststrip
Unexecuted instantiation: frontend.c:iststrip
Unexecuted instantiation: haproxy.c:iststrip
Unexecuted instantiation: http.c:iststrip
Unexecuted instantiation: http_ana.c:iststrip
Unexecuted instantiation: http_ext.c:iststrip
Unexecuted instantiation: http_htx.c:iststrip
Unexecuted instantiation: http_rules.c:iststrip
Unexecuted instantiation: htx.c:iststrip
Unexecuted instantiation: lb_chash.c:iststrip
Unexecuted instantiation: lb_fas.c:iststrip
Unexecuted instantiation: lb_fwlc.c:iststrip
Unexecuted instantiation: lb_fwrr.c:iststrip
Unexecuted instantiation: lb_map.c:iststrip
Unexecuted instantiation: lb_ss.c:iststrip
Unexecuted instantiation: limits.c:iststrip
Unexecuted instantiation: listener.c:iststrip
Unexecuted instantiation: log.c:iststrip
Unexecuted instantiation: mailers.c:iststrip
Unexecuted instantiation: mworker.c:iststrip
Unexecuted instantiation: peers.c:iststrip
Unexecuted instantiation: pool.c:iststrip
Unexecuted instantiation: proto_rhttp.c:iststrip
Unexecuted instantiation: proto_sockpair.c:iststrip
Unexecuted instantiation: protocol.c:iststrip
Unexecuted instantiation: proxy.c:iststrip
Unexecuted instantiation: queue.c:iststrip
Unexecuted instantiation: regex.c:iststrip
Unexecuted instantiation: resolvers.c:iststrip
Unexecuted instantiation: ring.c:iststrip
Unexecuted instantiation: sample.c:iststrip
Unexecuted instantiation: server.c:iststrip
Unexecuted instantiation: session.c:iststrip
Unexecuted instantiation: signal.c:iststrip
Unexecuted instantiation: sink.c:iststrip
Unexecuted instantiation: sock.c:iststrip
Unexecuted instantiation: sock_inet.c:iststrip
Unexecuted instantiation: stats-html.c:iststrip
Unexecuted instantiation: stats.c:iststrip
Unexecuted instantiation: stconn.c:iststrip
Unexecuted instantiation: stick_table.c:iststrip
Unexecuted instantiation: stream.c:iststrip
Unexecuted instantiation: systemd.c:iststrip
Unexecuted instantiation: task.c:iststrip
Unexecuted instantiation: tcp_rules.c:iststrip
Unexecuted instantiation: tcpcheck.c:iststrip
Unexecuted instantiation: thread.c:iststrip
Unexecuted instantiation: tools.c:iststrip
Unexecuted instantiation: trace.c:iststrip
Unexecuted instantiation: uri_auth.c:iststrip
Unexecuted instantiation: vars.c:iststrip
Unexecuted instantiation: acl.c:iststrip
Unexecuted instantiation: action.c:iststrip
Unexecuted instantiation: activity.c:iststrip
Unexecuted instantiation: applet.c:iststrip
Unexecuted instantiation: arg.c:iststrip
Unexecuted instantiation: auth.c:iststrip
Unexecuted instantiation: backend.c:iststrip
Unexecuted instantiation: cache.c:iststrip
Unexecuted instantiation: cfgcond.c:iststrip
Unexecuted instantiation: cfgparse-global.c:iststrip
Unexecuted instantiation: cfgparse-listen.c:iststrip
Unexecuted instantiation: channel.c:iststrip
Unexecuted instantiation: check.c:iststrip
Unexecuted instantiation: compression.c:iststrip
Unexecuted instantiation: counters.c:iststrip
Unexecuted instantiation: dgram.c:iststrip
Unexecuted instantiation: dns.c:iststrip
Unexecuted instantiation: dns_ring.c:iststrip
Unexecuted instantiation: event_hdl.c:iststrip
Unexecuted instantiation: extcheck.c:iststrip
Unexecuted instantiation: fcgi-app.c:iststrip
Unexecuted instantiation: fix.c:iststrip
Unexecuted instantiation: guid.c:iststrip
Unexecuted instantiation: h1.c:iststrip
Unexecuted instantiation: http_fetch.c:iststrip
Unexecuted instantiation: mqtt.c:iststrip
Unexecuted instantiation: mux_spop.c:iststrip
Unexecuted instantiation: pattern.c:iststrip
Unexecuted instantiation: payload.c:iststrip
Unexecuted instantiation: proto_tcp.c:iststrip
Unexecuted instantiation: shctx.c:iststrip
Unexecuted instantiation: stats-file.c:iststrip
Unexecuted instantiation: stats-json.c:iststrip
Unexecuted instantiation: stats-proxy.c:iststrip
Unexecuted instantiation: flt_spoe.c:iststrip
Unexecuted instantiation: h1_htx.c:iststrip
352
353
/* returns the ordinal difference between two strings :
354
 *    < 0 if ist1 < ist2
355
 *    = 0 if ist1 == ist2
356
 *    > 0 if ist1 > ist2
357
 */
358
static inline int istdiff(const struct ist ist1, const struct ist ist2)
359
0
{
360
0
  struct ist l = ist1;
361
0
  struct ist r = ist2;
362
0
363
0
  do {
364
0
    if (!l.len--)
365
0
      return -r.len;
366
0
    if (!r.len--)
367
0
      return 1;
368
0
  } while (*l.ptr++ == *r.ptr++);
369
0
370
0
  return *(unsigned char *)(l.ptr - 1) - *(unsigned char *)(r.ptr - 1);
371
0
}
Unexecuted instantiation: fuzz_hpack_decode.c:istdiff
Unexecuted instantiation: fuzz_cfg_parser.c:istdiff
Unexecuted instantiation: cfgparse.c:istdiff
Unexecuted instantiation: chunk.c:istdiff
Unexecuted instantiation: cli.c:istdiff
Unexecuted instantiation: clock.c:istdiff
Unexecuted instantiation: connection.c:istdiff
Unexecuted instantiation: debug.c:istdiff
Unexecuted instantiation: dynbuf.c:istdiff
Unexecuted instantiation: errors.c:istdiff
Unexecuted instantiation: fd.c:istdiff
Unexecuted instantiation: filters.c:istdiff
Unexecuted instantiation: flt_http_comp.c:istdiff
Unexecuted instantiation: freq_ctr.c:istdiff
Unexecuted instantiation: frontend.c:istdiff
Unexecuted instantiation: haproxy.c:istdiff
Unexecuted instantiation: http.c:istdiff
Unexecuted instantiation: http_ana.c:istdiff
Unexecuted instantiation: http_ext.c:istdiff
Unexecuted instantiation: http_htx.c:istdiff
Unexecuted instantiation: http_rules.c:istdiff
Unexecuted instantiation: htx.c:istdiff
Unexecuted instantiation: lb_chash.c:istdiff
Unexecuted instantiation: lb_fas.c:istdiff
Unexecuted instantiation: lb_fwlc.c:istdiff
Unexecuted instantiation: lb_fwrr.c:istdiff
Unexecuted instantiation: lb_map.c:istdiff
Unexecuted instantiation: lb_ss.c:istdiff
Unexecuted instantiation: limits.c:istdiff
Unexecuted instantiation: listener.c:istdiff
Unexecuted instantiation: log.c:istdiff
Unexecuted instantiation: mailers.c:istdiff
Unexecuted instantiation: mworker.c:istdiff
Unexecuted instantiation: peers.c:istdiff
Unexecuted instantiation: pool.c:istdiff
Unexecuted instantiation: proto_rhttp.c:istdiff
Unexecuted instantiation: proto_sockpair.c:istdiff
Unexecuted instantiation: protocol.c:istdiff
Unexecuted instantiation: proxy.c:istdiff
Unexecuted instantiation: queue.c:istdiff
Unexecuted instantiation: regex.c:istdiff
Unexecuted instantiation: resolvers.c:istdiff
Unexecuted instantiation: ring.c:istdiff
Unexecuted instantiation: sample.c:istdiff
Unexecuted instantiation: server.c:istdiff
Unexecuted instantiation: session.c:istdiff
Unexecuted instantiation: signal.c:istdiff
Unexecuted instantiation: sink.c:istdiff
Unexecuted instantiation: sock.c:istdiff
Unexecuted instantiation: sock_inet.c:istdiff
Unexecuted instantiation: stats-html.c:istdiff
Unexecuted instantiation: stats.c:istdiff
Unexecuted instantiation: stconn.c:istdiff
Unexecuted instantiation: stick_table.c:istdiff
Unexecuted instantiation: stream.c:istdiff
Unexecuted instantiation: systemd.c:istdiff
Unexecuted instantiation: task.c:istdiff
Unexecuted instantiation: tcp_rules.c:istdiff
Unexecuted instantiation: tcpcheck.c:istdiff
Unexecuted instantiation: thread.c:istdiff
Unexecuted instantiation: tools.c:istdiff
Unexecuted instantiation: trace.c:istdiff
Unexecuted instantiation: uri_auth.c:istdiff
Unexecuted instantiation: vars.c:istdiff
Unexecuted instantiation: acl.c:istdiff
Unexecuted instantiation: action.c:istdiff
Unexecuted instantiation: activity.c:istdiff
Unexecuted instantiation: applet.c:istdiff
Unexecuted instantiation: arg.c:istdiff
Unexecuted instantiation: auth.c:istdiff
Unexecuted instantiation: backend.c:istdiff
Unexecuted instantiation: cache.c:istdiff
Unexecuted instantiation: cfgcond.c:istdiff
Unexecuted instantiation: cfgparse-global.c:istdiff
Unexecuted instantiation: cfgparse-listen.c:istdiff
Unexecuted instantiation: channel.c:istdiff
Unexecuted instantiation: check.c:istdiff
Unexecuted instantiation: compression.c:istdiff
Unexecuted instantiation: counters.c:istdiff
Unexecuted instantiation: dgram.c:istdiff
Unexecuted instantiation: dns.c:istdiff
Unexecuted instantiation: dns_ring.c:istdiff
Unexecuted instantiation: event_hdl.c:istdiff
Unexecuted instantiation: extcheck.c:istdiff
Unexecuted instantiation: fcgi-app.c:istdiff
Unexecuted instantiation: fix.c:istdiff
Unexecuted instantiation: guid.c:istdiff
Unexecuted instantiation: h1.c:istdiff
Unexecuted instantiation: http_fetch.c:istdiff
Unexecuted instantiation: mqtt.c:istdiff
Unexecuted instantiation: mux_spop.c:istdiff
Unexecuted instantiation: pattern.c:istdiff
Unexecuted instantiation: payload.c:istdiff
Unexecuted instantiation: proto_tcp.c:istdiff
Unexecuted instantiation: shctx.c:istdiff
Unexecuted instantiation: stats-file.c:istdiff
Unexecuted instantiation: stats-json.c:istdiff
Unexecuted instantiation: stats-proxy.c:istdiff
Unexecuted instantiation: flt_spoe.c:istdiff
Unexecuted instantiation: h1_htx.c:istdiff
372
373
/* returns non-zero if <ist1> starts like <ist2> (empty strings do match) */
374
static inline int istmatch(const struct ist ist1, const struct ist ist2)
375
0
{
376
0
  struct ist l = ist1;
377
0
  struct ist r = ist2;
378
379
0
  if (l.len < r.len)
380
0
    return 0;
381
382
0
  while (r.len--) {
383
0
    if (*l.ptr++ != *r.ptr++)
384
0
      return 0;
385
0
  }
386
0
  return 1;
387
0
}
Unexecuted instantiation: fuzz_hpack_decode.c:istmatch
Unexecuted instantiation: fuzz_cfg_parser.c:istmatch
Unexecuted instantiation: cfgparse.c:istmatch
Unexecuted instantiation: chunk.c:istmatch
Unexecuted instantiation: cli.c:istmatch
Unexecuted instantiation: clock.c:istmatch
Unexecuted instantiation: connection.c:istmatch
Unexecuted instantiation: debug.c:istmatch
Unexecuted instantiation: dynbuf.c:istmatch
Unexecuted instantiation: errors.c:istmatch
Unexecuted instantiation: fd.c:istmatch
Unexecuted instantiation: filters.c:istmatch
Unexecuted instantiation: flt_http_comp.c:istmatch
Unexecuted instantiation: freq_ctr.c:istmatch
Unexecuted instantiation: frontend.c:istmatch
Unexecuted instantiation: haproxy.c:istmatch
Unexecuted instantiation: http.c:istmatch
Unexecuted instantiation: http_ana.c:istmatch
Unexecuted instantiation: http_ext.c:istmatch
Unexecuted instantiation: http_htx.c:istmatch
Unexecuted instantiation: http_rules.c:istmatch
Unexecuted instantiation: htx.c:istmatch
Unexecuted instantiation: lb_chash.c:istmatch
Unexecuted instantiation: lb_fas.c:istmatch
Unexecuted instantiation: lb_fwlc.c:istmatch
Unexecuted instantiation: lb_fwrr.c:istmatch
Unexecuted instantiation: lb_map.c:istmatch
Unexecuted instantiation: lb_ss.c:istmatch
Unexecuted instantiation: limits.c:istmatch
Unexecuted instantiation: listener.c:istmatch
Unexecuted instantiation: log.c:istmatch
Unexecuted instantiation: mailers.c:istmatch
Unexecuted instantiation: mworker.c:istmatch
Unexecuted instantiation: peers.c:istmatch
Unexecuted instantiation: pool.c:istmatch
Unexecuted instantiation: proto_rhttp.c:istmatch
Unexecuted instantiation: proto_sockpair.c:istmatch
Unexecuted instantiation: protocol.c:istmatch
Unexecuted instantiation: proxy.c:istmatch
Unexecuted instantiation: queue.c:istmatch
Unexecuted instantiation: regex.c:istmatch
Unexecuted instantiation: resolvers.c:istmatch
Unexecuted instantiation: ring.c:istmatch
Unexecuted instantiation: sample.c:istmatch
Unexecuted instantiation: server.c:istmatch
Unexecuted instantiation: session.c:istmatch
Unexecuted instantiation: signal.c:istmatch
Unexecuted instantiation: sink.c:istmatch
Unexecuted instantiation: sock.c:istmatch
Unexecuted instantiation: sock_inet.c:istmatch
Unexecuted instantiation: stats-html.c:istmatch
Unexecuted instantiation: stats.c:istmatch
Unexecuted instantiation: stconn.c:istmatch
Unexecuted instantiation: stick_table.c:istmatch
Unexecuted instantiation: stream.c:istmatch
Unexecuted instantiation: systemd.c:istmatch
Unexecuted instantiation: task.c:istmatch
Unexecuted instantiation: tcp_rules.c:istmatch
Unexecuted instantiation: tcpcheck.c:istmatch
Unexecuted instantiation: thread.c:istmatch
Unexecuted instantiation: tools.c:istmatch
Unexecuted instantiation: trace.c:istmatch
Unexecuted instantiation: uri_auth.c:istmatch
Unexecuted instantiation: vars.c:istmatch
Unexecuted instantiation: acl.c:istmatch
Unexecuted instantiation: action.c:istmatch
Unexecuted instantiation: activity.c:istmatch
Unexecuted instantiation: applet.c:istmatch
Unexecuted instantiation: arg.c:istmatch
Unexecuted instantiation: auth.c:istmatch
Unexecuted instantiation: backend.c:istmatch
Unexecuted instantiation: cache.c:istmatch
Unexecuted instantiation: cfgcond.c:istmatch
Unexecuted instantiation: cfgparse-global.c:istmatch
Unexecuted instantiation: cfgparse-listen.c:istmatch
Unexecuted instantiation: channel.c:istmatch
Unexecuted instantiation: check.c:istmatch
Unexecuted instantiation: compression.c:istmatch
Unexecuted instantiation: counters.c:istmatch
Unexecuted instantiation: dgram.c:istmatch
Unexecuted instantiation: dns.c:istmatch
Unexecuted instantiation: dns_ring.c:istmatch
Unexecuted instantiation: event_hdl.c:istmatch
Unexecuted instantiation: extcheck.c:istmatch
Unexecuted instantiation: fcgi-app.c:istmatch
Unexecuted instantiation: fix.c:istmatch
Unexecuted instantiation: guid.c:istmatch
Unexecuted instantiation: h1.c:istmatch
Unexecuted instantiation: http_fetch.c:istmatch
Unexecuted instantiation: mqtt.c:istmatch
Unexecuted instantiation: mux_spop.c:istmatch
Unexecuted instantiation: pattern.c:istmatch
Unexecuted instantiation: payload.c:istmatch
Unexecuted instantiation: proto_tcp.c:istmatch
Unexecuted instantiation: shctx.c:istmatch
Unexecuted instantiation: stats-file.c:istmatch
Unexecuted instantiation: stats-json.c:istmatch
Unexecuted instantiation: stats-proxy.c:istmatch
Unexecuted instantiation: flt_spoe.c:istmatch
Unexecuted instantiation: h1_htx.c:istmatch
388
389
/* returns non-zero if <ist1> starts like <ist2>, ignoring the case (empty strings do match) */
390
static inline int istmatchi(const struct ist ist1, const struct ist ist2)
391
0
{
392
0
  struct ist l = ist1;
393
0
  struct ist r = ist2;
394
395
0
  if (l.len < r.len)
396
0
    return 0;
397
398
0
  while (r.len--) {
399
0
    if (*l.ptr != *r.ptr &&
400
0
        ist_lc[(unsigned char)*l.ptr] != ist_lc[(unsigned char)*r.ptr])
401
0
      return 0;
402
403
0
    l.ptr++;
404
0
    r.ptr++;
405
0
  }
406
0
  return 1;
407
0
}
Unexecuted instantiation: fuzz_hpack_decode.c:istmatchi
Unexecuted instantiation: fuzz_cfg_parser.c:istmatchi
Unexecuted instantiation: cfgparse.c:istmatchi
Unexecuted instantiation: chunk.c:istmatchi
Unexecuted instantiation: cli.c:istmatchi
Unexecuted instantiation: clock.c:istmatchi
Unexecuted instantiation: connection.c:istmatchi
Unexecuted instantiation: debug.c:istmatchi
Unexecuted instantiation: dynbuf.c:istmatchi
Unexecuted instantiation: errors.c:istmatchi
Unexecuted instantiation: fd.c:istmatchi
Unexecuted instantiation: filters.c:istmatchi
Unexecuted instantiation: flt_http_comp.c:istmatchi
Unexecuted instantiation: freq_ctr.c:istmatchi
Unexecuted instantiation: frontend.c:istmatchi
Unexecuted instantiation: haproxy.c:istmatchi
Unexecuted instantiation: http.c:istmatchi
Unexecuted instantiation: http_ana.c:istmatchi
Unexecuted instantiation: http_ext.c:istmatchi
Unexecuted instantiation: http_htx.c:istmatchi
Unexecuted instantiation: http_rules.c:istmatchi
Unexecuted instantiation: htx.c:istmatchi
Unexecuted instantiation: lb_chash.c:istmatchi
Unexecuted instantiation: lb_fas.c:istmatchi
Unexecuted instantiation: lb_fwlc.c:istmatchi
Unexecuted instantiation: lb_fwrr.c:istmatchi
Unexecuted instantiation: lb_map.c:istmatchi
Unexecuted instantiation: lb_ss.c:istmatchi
Unexecuted instantiation: limits.c:istmatchi
Unexecuted instantiation: listener.c:istmatchi
Unexecuted instantiation: log.c:istmatchi
Unexecuted instantiation: mailers.c:istmatchi
Unexecuted instantiation: mworker.c:istmatchi
Unexecuted instantiation: peers.c:istmatchi
Unexecuted instantiation: pool.c:istmatchi
Unexecuted instantiation: proto_rhttp.c:istmatchi
Unexecuted instantiation: proto_sockpair.c:istmatchi
Unexecuted instantiation: protocol.c:istmatchi
Unexecuted instantiation: proxy.c:istmatchi
Unexecuted instantiation: queue.c:istmatchi
Unexecuted instantiation: regex.c:istmatchi
Unexecuted instantiation: resolvers.c:istmatchi
Unexecuted instantiation: ring.c:istmatchi
Unexecuted instantiation: sample.c:istmatchi
Unexecuted instantiation: server.c:istmatchi
Unexecuted instantiation: session.c:istmatchi
Unexecuted instantiation: signal.c:istmatchi
Unexecuted instantiation: sink.c:istmatchi
Unexecuted instantiation: sock.c:istmatchi
Unexecuted instantiation: sock_inet.c:istmatchi
Unexecuted instantiation: stats-html.c:istmatchi
Unexecuted instantiation: stats.c:istmatchi
Unexecuted instantiation: stconn.c:istmatchi
Unexecuted instantiation: stick_table.c:istmatchi
Unexecuted instantiation: stream.c:istmatchi
Unexecuted instantiation: systemd.c:istmatchi
Unexecuted instantiation: task.c:istmatchi
Unexecuted instantiation: tcp_rules.c:istmatchi
Unexecuted instantiation: tcpcheck.c:istmatchi
Unexecuted instantiation: thread.c:istmatchi
Unexecuted instantiation: tools.c:istmatchi
Unexecuted instantiation: trace.c:istmatchi
Unexecuted instantiation: uri_auth.c:istmatchi
Unexecuted instantiation: vars.c:istmatchi
Unexecuted instantiation: acl.c:istmatchi
Unexecuted instantiation: action.c:istmatchi
Unexecuted instantiation: activity.c:istmatchi
Unexecuted instantiation: applet.c:istmatchi
Unexecuted instantiation: arg.c:istmatchi
Unexecuted instantiation: auth.c:istmatchi
Unexecuted instantiation: backend.c:istmatchi
Unexecuted instantiation: cache.c:istmatchi
Unexecuted instantiation: cfgcond.c:istmatchi
Unexecuted instantiation: cfgparse-global.c:istmatchi
Unexecuted instantiation: cfgparse-listen.c:istmatchi
Unexecuted instantiation: channel.c:istmatchi
Unexecuted instantiation: check.c:istmatchi
Unexecuted instantiation: compression.c:istmatchi
Unexecuted instantiation: counters.c:istmatchi
Unexecuted instantiation: dgram.c:istmatchi
Unexecuted instantiation: dns.c:istmatchi
Unexecuted instantiation: dns_ring.c:istmatchi
Unexecuted instantiation: event_hdl.c:istmatchi
Unexecuted instantiation: extcheck.c:istmatchi
Unexecuted instantiation: fcgi-app.c:istmatchi
Unexecuted instantiation: fix.c:istmatchi
Unexecuted instantiation: guid.c:istmatchi
Unexecuted instantiation: h1.c:istmatchi
Unexecuted instantiation: http_fetch.c:istmatchi
Unexecuted instantiation: mqtt.c:istmatchi
Unexecuted instantiation: mux_spop.c:istmatchi
Unexecuted instantiation: pattern.c:istmatchi
Unexecuted instantiation: payload.c:istmatchi
Unexecuted instantiation: proto_tcp.c:istmatchi
Unexecuted instantiation: shctx.c:istmatchi
Unexecuted instantiation: stats-file.c:istmatchi
Unexecuted instantiation: stats-json.c:istmatchi
Unexecuted instantiation: stats-proxy.c:istmatchi
Unexecuted instantiation: flt_spoe.c:istmatchi
Unexecuted instantiation: h1_htx.c:istmatchi
408
409
/* returns non-zero if <ist1> starts like <ist2> on the first <count>
410
 * characters (empty strings do match).
411
 */
412
static inline int istnmatch(const struct ist ist1, const struct ist ist2, size_t count)
413
0
{
414
0
  struct ist l = ist1;
415
0
  struct ist r = ist2;
416
417
0
  if (l.len > count)
418
0
    l.len = count;
419
0
  if (r.len > count)
420
0
    r.len = count;
421
0
  return istmatch(l, r);
422
0
}
Unexecuted instantiation: fuzz_hpack_decode.c:istnmatch
Unexecuted instantiation: fuzz_cfg_parser.c:istnmatch
Unexecuted instantiation: cfgparse.c:istnmatch
Unexecuted instantiation: chunk.c:istnmatch
Unexecuted instantiation: cli.c:istnmatch
Unexecuted instantiation: clock.c:istnmatch
Unexecuted instantiation: connection.c:istnmatch
Unexecuted instantiation: debug.c:istnmatch
Unexecuted instantiation: dynbuf.c:istnmatch
Unexecuted instantiation: errors.c:istnmatch
Unexecuted instantiation: fd.c:istnmatch
Unexecuted instantiation: filters.c:istnmatch
Unexecuted instantiation: flt_http_comp.c:istnmatch
Unexecuted instantiation: freq_ctr.c:istnmatch
Unexecuted instantiation: frontend.c:istnmatch
Unexecuted instantiation: haproxy.c:istnmatch
Unexecuted instantiation: http.c:istnmatch
Unexecuted instantiation: http_ana.c:istnmatch
Unexecuted instantiation: http_ext.c:istnmatch
Unexecuted instantiation: http_htx.c:istnmatch
Unexecuted instantiation: http_rules.c:istnmatch
Unexecuted instantiation: htx.c:istnmatch
Unexecuted instantiation: lb_chash.c:istnmatch
Unexecuted instantiation: lb_fas.c:istnmatch
Unexecuted instantiation: lb_fwlc.c:istnmatch
Unexecuted instantiation: lb_fwrr.c:istnmatch
Unexecuted instantiation: lb_map.c:istnmatch
Unexecuted instantiation: lb_ss.c:istnmatch
Unexecuted instantiation: limits.c:istnmatch
Unexecuted instantiation: listener.c:istnmatch
Unexecuted instantiation: log.c:istnmatch
Unexecuted instantiation: mailers.c:istnmatch
Unexecuted instantiation: mworker.c:istnmatch
Unexecuted instantiation: peers.c:istnmatch
Unexecuted instantiation: pool.c:istnmatch
Unexecuted instantiation: proto_rhttp.c:istnmatch
Unexecuted instantiation: proto_sockpair.c:istnmatch
Unexecuted instantiation: protocol.c:istnmatch
Unexecuted instantiation: proxy.c:istnmatch
Unexecuted instantiation: queue.c:istnmatch
Unexecuted instantiation: regex.c:istnmatch
Unexecuted instantiation: resolvers.c:istnmatch
Unexecuted instantiation: ring.c:istnmatch
Unexecuted instantiation: sample.c:istnmatch
Unexecuted instantiation: server.c:istnmatch
Unexecuted instantiation: session.c:istnmatch
Unexecuted instantiation: signal.c:istnmatch
Unexecuted instantiation: sink.c:istnmatch
Unexecuted instantiation: sock.c:istnmatch
Unexecuted instantiation: sock_inet.c:istnmatch
Unexecuted instantiation: stats-html.c:istnmatch
Unexecuted instantiation: stats.c:istnmatch
Unexecuted instantiation: stconn.c:istnmatch
Unexecuted instantiation: stick_table.c:istnmatch
Unexecuted instantiation: stream.c:istnmatch
Unexecuted instantiation: systemd.c:istnmatch
Unexecuted instantiation: task.c:istnmatch
Unexecuted instantiation: tcp_rules.c:istnmatch
Unexecuted instantiation: tcpcheck.c:istnmatch
Unexecuted instantiation: thread.c:istnmatch
Unexecuted instantiation: tools.c:istnmatch
Unexecuted instantiation: trace.c:istnmatch
Unexecuted instantiation: uri_auth.c:istnmatch
Unexecuted instantiation: vars.c:istnmatch
Unexecuted instantiation: acl.c:istnmatch
Unexecuted instantiation: action.c:istnmatch
Unexecuted instantiation: activity.c:istnmatch
Unexecuted instantiation: applet.c:istnmatch
Unexecuted instantiation: arg.c:istnmatch
Unexecuted instantiation: auth.c:istnmatch
Unexecuted instantiation: backend.c:istnmatch
Unexecuted instantiation: cache.c:istnmatch
Unexecuted instantiation: cfgcond.c:istnmatch
Unexecuted instantiation: cfgparse-global.c:istnmatch
Unexecuted instantiation: cfgparse-listen.c:istnmatch
Unexecuted instantiation: channel.c:istnmatch
Unexecuted instantiation: check.c:istnmatch
Unexecuted instantiation: compression.c:istnmatch
Unexecuted instantiation: counters.c:istnmatch
Unexecuted instantiation: dgram.c:istnmatch
Unexecuted instantiation: dns.c:istnmatch
Unexecuted instantiation: dns_ring.c:istnmatch
Unexecuted instantiation: event_hdl.c:istnmatch
Unexecuted instantiation: extcheck.c:istnmatch
Unexecuted instantiation: fcgi-app.c:istnmatch
Unexecuted instantiation: fix.c:istnmatch
Unexecuted instantiation: guid.c:istnmatch
Unexecuted instantiation: h1.c:istnmatch
Unexecuted instantiation: http_fetch.c:istnmatch
Unexecuted instantiation: mqtt.c:istnmatch
Unexecuted instantiation: mux_spop.c:istnmatch
Unexecuted instantiation: pattern.c:istnmatch
Unexecuted instantiation: payload.c:istnmatch
Unexecuted instantiation: proto_tcp.c:istnmatch
Unexecuted instantiation: shctx.c:istnmatch
Unexecuted instantiation: stats-file.c:istnmatch
Unexecuted instantiation: stats-json.c:istnmatch
Unexecuted instantiation: stats-proxy.c:istnmatch
Unexecuted instantiation: flt_spoe.c:istnmatch
Unexecuted instantiation: h1_htx.c:istnmatch
423
424
/* returns non-zero if <ist1> equals <ist2> (empty strings are equal) */
425
static inline int isteq(const struct ist ist1, const struct ist ist2)
426
0
{
427
0
  struct ist l = ist1;
428
0
  struct ist r = ist2;
429
430
0
  if (l.len != r.len)
431
0
    return 0;
432
433
0
  while (l.len--) {
434
0
    if (*l.ptr++ != *r.ptr++)
435
0
      return 0;
436
0
  }
437
0
  return 1;
438
0
}
Unexecuted instantiation: fuzz_hpack_decode.c:isteq
Unexecuted instantiation: fuzz_cfg_parser.c:isteq
Unexecuted instantiation: cfgparse.c:isteq
Unexecuted instantiation: chunk.c:isteq
Unexecuted instantiation: cli.c:isteq
Unexecuted instantiation: clock.c:isteq
Unexecuted instantiation: connection.c:isteq
Unexecuted instantiation: debug.c:isteq
Unexecuted instantiation: dynbuf.c:isteq
Unexecuted instantiation: errors.c:isteq
Unexecuted instantiation: fd.c:isteq
Unexecuted instantiation: filters.c:isteq
Unexecuted instantiation: flt_http_comp.c:isteq
Unexecuted instantiation: freq_ctr.c:isteq
Unexecuted instantiation: frontend.c:isteq
Unexecuted instantiation: haproxy.c:isteq
Unexecuted instantiation: http.c:isteq
Unexecuted instantiation: http_ana.c:isteq
Unexecuted instantiation: http_ext.c:isteq
Unexecuted instantiation: http_htx.c:isteq
Unexecuted instantiation: http_rules.c:isteq
Unexecuted instantiation: htx.c:isteq
Unexecuted instantiation: lb_chash.c:isteq
Unexecuted instantiation: lb_fas.c:isteq
Unexecuted instantiation: lb_fwlc.c:isteq
Unexecuted instantiation: lb_fwrr.c:isteq
Unexecuted instantiation: lb_map.c:isteq
Unexecuted instantiation: lb_ss.c:isteq
Unexecuted instantiation: limits.c:isteq
Unexecuted instantiation: listener.c:isteq
Unexecuted instantiation: log.c:isteq
Unexecuted instantiation: mailers.c:isteq
Unexecuted instantiation: mworker.c:isteq
Unexecuted instantiation: peers.c:isteq
Unexecuted instantiation: pool.c:isteq
Unexecuted instantiation: proto_rhttp.c:isteq
Unexecuted instantiation: proto_sockpair.c:isteq
Unexecuted instantiation: protocol.c:isteq
Unexecuted instantiation: proxy.c:isteq
Unexecuted instantiation: queue.c:isteq
Unexecuted instantiation: regex.c:isteq
Unexecuted instantiation: resolvers.c:isteq
Unexecuted instantiation: ring.c:isteq
Unexecuted instantiation: sample.c:isteq
Unexecuted instantiation: server.c:isteq
Unexecuted instantiation: session.c:isteq
Unexecuted instantiation: signal.c:isteq
Unexecuted instantiation: sink.c:isteq
Unexecuted instantiation: sock.c:isteq
Unexecuted instantiation: sock_inet.c:isteq
Unexecuted instantiation: stats-html.c:isteq
Unexecuted instantiation: stats.c:isteq
Unexecuted instantiation: stconn.c:isteq
Unexecuted instantiation: stick_table.c:isteq
Unexecuted instantiation: stream.c:isteq
Unexecuted instantiation: systemd.c:isteq
Unexecuted instantiation: task.c:isteq
Unexecuted instantiation: tcp_rules.c:isteq
Unexecuted instantiation: tcpcheck.c:isteq
Unexecuted instantiation: thread.c:isteq
Unexecuted instantiation: tools.c:isteq
Unexecuted instantiation: trace.c:isteq
Unexecuted instantiation: uri_auth.c:isteq
Unexecuted instantiation: vars.c:isteq
Unexecuted instantiation: acl.c:isteq
Unexecuted instantiation: action.c:isteq
Unexecuted instantiation: activity.c:isteq
Unexecuted instantiation: applet.c:isteq
Unexecuted instantiation: arg.c:isteq
Unexecuted instantiation: auth.c:isteq
Unexecuted instantiation: backend.c:isteq
Unexecuted instantiation: cache.c:isteq
Unexecuted instantiation: cfgcond.c:isteq
Unexecuted instantiation: cfgparse-global.c:isteq
Unexecuted instantiation: cfgparse-listen.c:isteq
Unexecuted instantiation: channel.c:isteq
Unexecuted instantiation: check.c:isteq
Unexecuted instantiation: compression.c:isteq
Unexecuted instantiation: counters.c:isteq
Unexecuted instantiation: dgram.c:isteq
Unexecuted instantiation: dns.c:isteq
Unexecuted instantiation: dns_ring.c:isteq
Unexecuted instantiation: event_hdl.c:isteq
Unexecuted instantiation: extcheck.c:isteq
Unexecuted instantiation: fcgi-app.c:isteq
Unexecuted instantiation: fix.c:isteq
Unexecuted instantiation: guid.c:isteq
Unexecuted instantiation: h1.c:isteq
Unexecuted instantiation: http_fetch.c:isteq
Unexecuted instantiation: mqtt.c:isteq
Unexecuted instantiation: mux_spop.c:isteq
Unexecuted instantiation: pattern.c:isteq
Unexecuted instantiation: payload.c:isteq
Unexecuted instantiation: proto_tcp.c:isteq
Unexecuted instantiation: shctx.c:isteq
Unexecuted instantiation: stats-file.c:isteq
Unexecuted instantiation: stats-json.c:isteq
Unexecuted instantiation: stats-proxy.c:isteq
Unexecuted instantiation: flt_spoe.c:isteq
Unexecuted instantiation: h1_htx.c:isteq
439
440
/* returns non-zero if <ist1> equals <ist2>, ignoring the case (empty strings are equal) */
441
static inline int isteqi(const struct ist ist1, const struct ist ist2)
442
0
{
443
0
  struct ist l = ist1;
444
0
  struct ist r = ist2;
445
446
0
  if (l.len != r.len)
447
0
    return 0;
448
449
0
  while (l.len--) {
450
0
    if (*l.ptr != *r.ptr &&
451
0
        ist_lc[(unsigned char)*l.ptr] != ist_lc[(unsigned char)*r.ptr])
452
0
      return 0;
453
454
0
    l.ptr++;
455
0
    r.ptr++;
456
0
  }
457
0
  return 1;
458
0
}
Unexecuted instantiation: fuzz_hpack_decode.c:isteqi
Unexecuted instantiation: fuzz_cfg_parser.c:isteqi
Unexecuted instantiation: cfgparse.c:isteqi
Unexecuted instantiation: chunk.c:isteqi
Unexecuted instantiation: cli.c:isteqi
Unexecuted instantiation: clock.c:isteqi
Unexecuted instantiation: connection.c:isteqi
Unexecuted instantiation: debug.c:isteqi
Unexecuted instantiation: dynbuf.c:isteqi
Unexecuted instantiation: errors.c:isteqi
Unexecuted instantiation: fd.c:isteqi
Unexecuted instantiation: filters.c:isteqi
Unexecuted instantiation: flt_http_comp.c:isteqi
Unexecuted instantiation: freq_ctr.c:isteqi
Unexecuted instantiation: frontend.c:isteqi
Unexecuted instantiation: haproxy.c:isteqi
Unexecuted instantiation: http.c:isteqi
Unexecuted instantiation: http_ana.c:isteqi
Unexecuted instantiation: http_ext.c:isteqi
Unexecuted instantiation: http_htx.c:isteqi
Unexecuted instantiation: http_rules.c:isteqi
Unexecuted instantiation: htx.c:isteqi
Unexecuted instantiation: lb_chash.c:isteqi
Unexecuted instantiation: lb_fas.c:isteqi
Unexecuted instantiation: lb_fwlc.c:isteqi
Unexecuted instantiation: lb_fwrr.c:isteqi
Unexecuted instantiation: lb_map.c:isteqi
Unexecuted instantiation: lb_ss.c:isteqi
Unexecuted instantiation: limits.c:isteqi
Unexecuted instantiation: listener.c:isteqi
Unexecuted instantiation: log.c:isteqi
Unexecuted instantiation: mailers.c:isteqi
Unexecuted instantiation: mworker.c:isteqi
Unexecuted instantiation: peers.c:isteqi
Unexecuted instantiation: pool.c:isteqi
Unexecuted instantiation: proto_rhttp.c:isteqi
Unexecuted instantiation: proto_sockpair.c:isteqi
Unexecuted instantiation: protocol.c:isteqi
Unexecuted instantiation: proxy.c:isteqi
Unexecuted instantiation: queue.c:isteqi
Unexecuted instantiation: regex.c:isteqi
Unexecuted instantiation: resolvers.c:isteqi
Unexecuted instantiation: ring.c:isteqi
Unexecuted instantiation: sample.c:isteqi
Unexecuted instantiation: server.c:isteqi
Unexecuted instantiation: session.c:isteqi
Unexecuted instantiation: signal.c:isteqi
Unexecuted instantiation: sink.c:isteqi
Unexecuted instantiation: sock.c:isteqi
Unexecuted instantiation: sock_inet.c:isteqi
Unexecuted instantiation: stats-html.c:isteqi
Unexecuted instantiation: stats.c:isteqi
Unexecuted instantiation: stconn.c:isteqi
Unexecuted instantiation: stick_table.c:isteqi
Unexecuted instantiation: stream.c:isteqi
Unexecuted instantiation: systemd.c:isteqi
Unexecuted instantiation: task.c:isteqi
Unexecuted instantiation: tcp_rules.c:isteqi
Unexecuted instantiation: tcpcheck.c:isteqi
Unexecuted instantiation: thread.c:isteqi
Unexecuted instantiation: tools.c:isteqi
Unexecuted instantiation: trace.c:isteqi
Unexecuted instantiation: uri_auth.c:isteqi
Unexecuted instantiation: vars.c:isteqi
Unexecuted instantiation: acl.c:isteqi
Unexecuted instantiation: action.c:isteqi
Unexecuted instantiation: activity.c:isteqi
Unexecuted instantiation: applet.c:isteqi
Unexecuted instantiation: arg.c:isteqi
Unexecuted instantiation: auth.c:isteqi
Unexecuted instantiation: backend.c:isteqi
Unexecuted instantiation: cache.c:isteqi
Unexecuted instantiation: cfgcond.c:isteqi
Unexecuted instantiation: cfgparse-global.c:isteqi
Unexecuted instantiation: cfgparse-listen.c:isteqi
Unexecuted instantiation: channel.c:isteqi
Unexecuted instantiation: check.c:isteqi
Unexecuted instantiation: compression.c:isteqi
Unexecuted instantiation: counters.c:isteqi
Unexecuted instantiation: dgram.c:isteqi
Unexecuted instantiation: dns.c:isteqi
Unexecuted instantiation: dns_ring.c:isteqi
Unexecuted instantiation: event_hdl.c:isteqi
Unexecuted instantiation: extcheck.c:isteqi
Unexecuted instantiation: fcgi-app.c:isteqi
Unexecuted instantiation: fix.c:isteqi
Unexecuted instantiation: guid.c:isteqi
Unexecuted instantiation: h1.c:isteqi
Unexecuted instantiation: http_fetch.c:isteqi
Unexecuted instantiation: mqtt.c:isteqi
Unexecuted instantiation: mux_spop.c:isteqi
Unexecuted instantiation: pattern.c:isteqi
Unexecuted instantiation: payload.c:isteqi
Unexecuted instantiation: proto_tcp.c:isteqi
Unexecuted instantiation: shctx.c:isteqi
Unexecuted instantiation: stats-file.c:isteqi
Unexecuted instantiation: stats-json.c:isteqi
Unexecuted instantiation: stats-proxy.c:isteqi
Unexecuted instantiation: flt_spoe.c:isteqi
Unexecuted instantiation: h1_htx.c:isteqi
459
460
/* returns non-zero if <ist1> equals <ist2> on the first <count> characters
461
 * (empty strings are equal).
462
 */
463
static inline int istneq(const struct ist ist1, const struct ist ist2, size_t count)
464
0
{
465
0
  struct ist l = ist1;
466
0
  struct ist r = ist2;
467
0
468
0
  if (l.len > count)
469
0
    l.len = count;
470
0
  if (r.len > count)
471
0
    r.len = count;
472
0
  return isteq(l, r);
473
0
}
Unexecuted instantiation: fuzz_hpack_decode.c:istneq
Unexecuted instantiation: fuzz_cfg_parser.c:istneq
Unexecuted instantiation: cfgparse.c:istneq
Unexecuted instantiation: chunk.c:istneq
Unexecuted instantiation: cli.c:istneq
Unexecuted instantiation: clock.c:istneq
Unexecuted instantiation: connection.c:istneq
Unexecuted instantiation: debug.c:istneq
Unexecuted instantiation: dynbuf.c:istneq
Unexecuted instantiation: errors.c:istneq
Unexecuted instantiation: fd.c:istneq
Unexecuted instantiation: filters.c:istneq
Unexecuted instantiation: flt_http_comp.c:istneq
Unexecuted instantiation: freq_ctr.c:istneq
Unexecuted instantiation: frontend.c:istneq
Unexecuted instantiation: haproxy.c:istneq
Unexecuted instantiation: http.c:istneq
Unexecuted instantiation: http_ana.c:istneq
Unexecuted instantiation: http_ext.c:istneq
Unexecuted instantiation: http_htx.c:istneq
Unexecuted instantiation: http_rules.c:istneq
Unexecuted instantiation: htx.c:istneq
Unexecuted instantiation: lb_chash.c:istneq
Unexecuted instantiation: lb_fas.c:istneq
Unexecuted instantiation: lb_fwlc.c:istneq
Unexecuted instantiation: lb_fwrr.c:istneq
Unexecuted instantiation: lb_map.c:istneq
Unexecuted instantiation: lb_ss.c:istneq
Unexecuted instantiation: limits.c:istneq
Unexecuted instantiation: listener.c:istneq
Unexecuted instantiation: log.c:istneq
Unexecuted instantiation: mailers.c:istneq
Unexecuted instantiation: mworker.c:istneq
Unexecuted instantiation: peers.c:istneq
Unexecuted instantiation: pool.c:istneq
Unexecuted instantiation: proto_rhttp.c:istneq
Unexecuted instantiation: proto_sockpair.c:istneq
Unexecuted instantiation: protocol.c:istneq
Unexecuted instantiation: proxy.c:istneq
Unexecuted instantiation: queue.c:istneq
Unexecuted instantiation: regex.c:istneq
Unexecuted instantiation: resolvers.c:istneq
Unexecuted instantiation: ring.c:istneq
Unexecuted instantiation: sample.c:istneq
Unexecuted instantiation: server.c:istneq
Unexecuted instantiation: session.c:istneq
Unexecuted instantiation: signal.c:istneq
Unexecuted instantiation: sink.c:istneq
Unexecuted instantiation: sock.c:istneq
Unexecuted instantiation: sock_inet.c:istneq
Unexecuted instantiation: stats-html.c:istneq
Unexecuted instantiation: stats.c:istneq
Unexecuted instantiation: stconn.c:istneq
Unexecuted instantiation: stick_table.c:istneq
Unexecuted instantiation: stream.c:istneq
Unexecuted instantiation: systemd.c:istneq
Unexecuted instantiation: task.c:istneq
Unexecuted instantiation: tcp_rules.c:istneq
Unexecuted instantiation: tcpcheck.c:istneq
Unexecuted instantiation: thread.c:istneq
Unexecuted instantiation: tools.c:istneq
Unexecuted instantiation: trace.c:istneq
Unexecuted instantiation: uri_auth.c:istneq
Unexecuted instantiation: vars.c:istneq
Unexecuted instantiation: acl.c:istneq
Unexecuted instantiation: action.c:istneq
Unexecuted instantiation: activity.c:istneq
Unexecuted instantiation: applet.c:istneq
Unexecuted instantiation: arg.c:istneq
Unexecuted instantiation: auth.c:istneq
Unexecuted instantiation: backend.c:istneq
Unexecuted instantiation: cache.c:istneq
Unexecuted instantiation: cfgcond.c:istneq
Unexecuted instantiation: cfgparse-global.c:istneq
Unexecuted instantiation: cfgparse-listen.c:istneq
Unexecuted instantiation: channel.c:istneq
Unexecuted instantiation: check.c:istneq
Unexecuted instantiation: compression.c:istneq
Unexecuted instantiation: counters.c:istneq
Unexecuted instantiation: dgram.c:istneq
Unexecuted instantiation: dns.c:istneq
Unexecuted instantiation: dns_ring.c:istneq
Unexecuted instantiation: event_hdl.c:istneq
Unexecuted instantiation: extcheck.c:istneq
Unexecuted instantiation: fcgi-app.c:istneq
Unexecuted instantiation: fix.c:istneq
Unexecuted instantiation: guid.c:istneq
Unexecuted instantiation: h1.c:istneq
Unexecuted instantiation: http_fetch.c:istneq
Unexecuted instantiation: mqtt.c:istneq
Unexecuted instantiation: mux_spop.c:istneq
Unexecuted instantiation: pattern.c:istneq
Unexecuted instantiation: payload.c:istneq
Unexecuted instantiation: proto_tcp.c:istneq
Unexecuted instantiation: shctx.c:istneq
Unexecuted instantiation: stats-file.c:istneq
Unexecuted instantiation: stats-json.c:istneq
Unexecuted instantiation: stats-proxy.c:istneq
Unexecuted instantiation: flt_spoe.c:istneq
Unexecuted instantiation: h1_htx.c:istneq
474
475
/* appends <src> after <dst>. The caller must ensure that the underlying buffer
476
 * is large enough to fit the character.
477
 */
478
static inline struct ist __istappend(struct ist dst, const char src)
479
0
{
480
0
  dst.ptr[dst.len++] = src;
481
0
482
0
  return dst;
483
0
}
Unexecuted instantiation: fuzz_hpack_decode.c:__istappend
Unexecuted instantiation: fuzz_cfg_parser.c:__istappend
Unexecuted instantiation: cfgparse.c:__istappend
Unexecuted instantiation: chunk.c:__istappend
Unexecuted instantiation: cli.c:__istappend
Unexecuted instantiation: clock.c:__istappend
Unexecuted instantiation: connection.c:__istappend
Unexecuted instantiation: debug.c:__istappend
Unexecuted instantiation: dynbuf.c:__istappend
Unexecuted instantiation: errors.c:__istappend
Unexecuted instantiation: fd.c:__istappend
Unexecuted instantiation: filters.c:__istappend
Unexecuted instantiation: flt_http_comp.c:__istappend
Unexecuted instantiation: freq_ctr.c:__istappend
Unexecuted instantiation: frontend.c:__istappend
Unexecuted instantiation: haproxy.c:__istappend
Unexecuted instantiation: http.c:__istappend
Unexecuted instantiation: http_ana.c:__istappend
Unexecuted instantiation: http_ext.c:__istappend
Unexecuted instantiation: http_htx.c:__istappend
Unexecuted instantiation: http_rules.c:__istappend
Unexecuted instantiation: htx.c:__istappend
Unexecuted instantiation: lb_chash.c:__istappend
Unexecuted instantiation: lb_fas.c:__istappend
Unexecuted instantiation: lb_fwlc.c:__istappend
Unexecuted instantiation: lb_fwrr.c:__istappend
Unexecuted instantiation: lb_map.c:__istappend
Unexecuted instantiation: lb_ss.c:__istappend
Unexecuted instantiation: limits.c:__istappend
Unexecuted instantiation: listener.c:__istappend
Unexecuted instantiation: log.c:__istappend
Unexecuted instantiation: mailers.c:__istappend
Unexecuted instantiation: mworker.c:__istappend
Unexecuted instantiation: peers.c:__istappend
Unexecuted instantiation: pool.c:__istappend
Unexecuted instantiation: proto_rhttp.c:__istappend
Unexecuted instantiation: proto_sockpair.c:__istappend
Unexecuted instantiation: protocol.c:__istappend
Unexecuted instantiation: proxy.c:__istappend
Unexecuted instantiation: queue.c:__istappend
Unexecuted instantiation: regex.c:__istappend
Unexecuted instantiation: resolvers.c:__istappend
Unexecuted instantiation: ring.c:__istappend
Unexecuted instantiation: sample.c:__istappend
Unexecuted instantiation: server.c:__istappend
Unexecuted instantiation: session.c:__istappend
Unexecuted instantiation: signal.c:__istappend
Unexecuted instantiation: sink.c:__istappend
Unexecuted instantiation: sock.c:__istappend
Unexecuted instantiation: sock_inet.c:__istappend
Unexecuted instantiation: stats-html.c:__istappend
Unexecuted instantiation: stats.c:__istappend
Unexecuted instantiation: stconn.c:__istappend
Unexecuted instantiation: stick_table.c:__istappend
Unexecuted instantiation: stream.c:__istappend
Unexecuted instantiation: systemd.c:__istappend
Unexecuted instantiation: task.c:__istappend
Unexecuted instantiation: tcp_rules.c:__istappend
Unexecuted instantiation: tcpcheck.c:__istappend
Unexecuted instantiation: thread.c:__istappend
Unexecuted instantiation: tools.c:__istappend
Unexecuted instantiation: trace.c:__istappend
Unexecuted instantiation: uri_auth.c:__istappend
Unexecuted instantiation: vars.c:__istappend
Unexecuted instantiation: acl.c:__istappend
Unexecuted instantiation: action.c:__istappend
Unexecuted instantiation: activity.c:__istappend
Unexecuted instantiation: applet.c:__istappend
Unexecuted instantiation: arg.c:__istappend
Unexecuted instantiation: auth.c:__istappend
Unexecuted instantiation: backend.c:__istappend
Unexecuted instantiation: cache.c:__istappend
Unexecuted instantiation: cfgcond.c:__istappend
Unexecuted instantiation: cfgparse-global.c:__istappend
Unexecuted instantiation: cfgparse-listen.c:__istappend
Unexecuted instantiation: channel.c:__istappend
Unexecuted instantiation: check.c:__istappend
Unexecuted instantiation: compression.c:__istappend
Unexecuted instantiation: counters.c:__istappend
Unexecuted instantiation: dgram.c:__istappend
Unexecuted instantiation: dns.c:__istappend
Unexecuted instantiation: dns_ring.c:__istappend
Unexecuted instantiation: event_hdl.c:__istappend
Unexecuted instantiation: extcheck.c:__istappend
Unexecuted instantiation: fcgi-app.c:__istappend
Unexecuted instantiation: fix.c:__istappend
Unexecuted instantiation: guid.c:__istappend
Unexecuted instantiation: h1.c:__istappend
Unexecuted instantiation: http_fetch.c:__istappend
Unexecuted instantiation: mqtt.c:__istappend
Unexecuted instantiation: mux_spop.c:__istappend
Unexecuted instantiation: pattern.c:__istappend
Unexecuted instantiation: payload.c:__istappend
Unexecuted instantiation: proto_tcp.c:__istappend
Unexecuted instantiation: shctx.c:__istappend
Unexecuted instantiation: stats-file.c:__istappend
Unexecuted instantiation: stats-json.c:__istappend
Unexecuted instantiation: stats-proxy.c:__istappend
Unexecuted instantiation: flt_spoe.c:__istappend
Unexecuted instantiation: h1_htx.c:__istappend
484
485
/* copies <src> over <dst> for a maximum of <count> bytes. Returns the number
486
 * of characters copied (src.len), or -1 if it does not fit. In all cases, the
487
 * contents are copied prior to reporting an error, so that the destination
488
 * at least contains a valid but truncated string.
489
 */
490
static inline ssize_t istcpy(struct ist *dst, const struct ist src, size_t count)
491
0
{
492
0
  dst->len = 0;
493
494
0
  if (count > src.len)
495
0
    count = src.len;
496
497
0
  while (dst->len < count) {
498
0
    dst->ptr[dst->len] = src.ptr[dst->len];
499
0
    dst->len++;
500
0
  }
501
502
0
  if (dst->len == src.len)
503
0
    return src.len;
504
505
0
  return -1;
506
0
}
Unexecuted instantiation: fuzz_hpack_decode.c:istcpy
Unexecuted instantiation: fuzz_cfg_parser.c:istcpy
Unexecuted instantiation: cfgparse.c:istcpy
Unexecuted instantiation: chunk.c:istcpy
Unexecuted instantiation: cli.c:istcpy
Unexecuted instantiation: clock.c:istcpy
Unexecuted instantiation: connection.c:istcpy
Unexecuted instantiation: debug.c:istcpy
Unexecuted instantiation: dynbuf.c:istcpy
Unexecuted instantiation: errors.c:istcpy
Unexecuted instantiation: fd.c:istcpy
Unexecuted instantiation: filters.c:istcpy
Unexecuted instantiation: flt_http_comp.c:istcpy
Unexecuted instantiation: freq_ctr.c:istcpy
Unexecuted instantiation: frontend.c:istcpy
Unexecuted instantiation: haproxy.c:istcpy
Unexecuted instantiation: http.c:istcpy
Unexecuted instantiation: http_ana.c:istcpy
Unexecuted instantiation: http_ext.c:istcpy
Unexecuted instantiation: http_htx.c:istcpy
Unexecuted instantiation: http_rules.c:istcpy
Unexecuted instantiation: htx.c:istcpy
Unexecuted instantiation: lb_chash.c:istcpy
Unexecuted instantiation: lb_fas.c:istcpy
Unexecuted instantiation: lb_fwlc.c:istcpy
Unexecuted instantiation: lb_fwrr.c:istcpy
Unexecuted instantiation: lb_map.c:istcpy
Unexecuted instantiation: lb_ss.c:istcpy
Unexecuted instantiation: limits.c:istcpy
Unexecuted instantiation: listener.c:istcpy
Unexecuted instantiation: log.c:istcpy
Unexecuted instantiation: mailers.c:istcpy
Unexecuted instantiation: mworker.c:istcpy
Unexecuted instantiation: peers.c:istcpy
Unexecuted instantiation: pool.c:istcpy
Unexecuted instantiation: proto_rhttp.c:istcpy
Unexecuted instantiation: proto_sockpair.c:istcpy
Unexecuted instantiation: protocol.c:istcpy
Unexecuted instantiation: proxy.c:istcpy
Unexecuted instantiation: queue.c:istcpy
Unexecuted instantiation: regex.c:istcpy
Unexecuted instantiation: resolvers.c:istcpy
Unexecuted instantiation: ring.c:istcpy
Unexecuted instantiation: sample.c:istcpy
Unexecuted instantiation: server.c:istcpy
Unexecuted instantiation: session.c:istcpy
Unexecuted instantiation: signal.c:istcpy
Unexecuted instantiation: sink.c:istcpy
Unexecuted instantiation: sock.c:istcpy
Unexecuted instantiation: sock_inet.c:istcpy
Unexecuted instantiation: stats-html.c:istcpy
Unexecuted instantiation: stats.c:istcpy
Unexecuted instantiation: stconn.c:istcpy
Unexecuted instantiation: stick_table.c:istcpy
Unexecuted instantiation: stream.c:istcpy
Unexecuted instantiation: systemd.c:istcpy
Unexecuted instantiation: task.c:istcpy
Unexecuted instantiation: tcp_rules.c:istcpy
Unexecuted instantiation: tcpcheck.c:istcpy
Unexecuted instantiation: thread.c:istcpy
Unexecuted instantiation: tools.c:istcpy
Unexecuted instantiation: trace.c:istcpy
Unexecuted instantiation: uri_auth.c:istcpy
Unexecuted instantiation: vars.c:istcpy
Unexecuted instantiation: acl.c:istcpy
Unexecuted instantiation: action.c:istcpy
Unexecuted instantiation: activity.c:istcpy
Unexecuted instantiation: applet.c:istcpy
Unexecuted instantiation: arg.c:istcpy
Unexecuted instantiation: auth.c:istcpy
Unexecuted instantiation: backend.c:istcpy
Unexecuted instantiation: cache.c:istcpy
Unexecuted instantiation: cfgcond.c:istcpy
Unexecuted instantiation: cfgparse-global.c:istcpy
Unexecuted instantiation: cfgparse-listen.c:istcpy
Unexecuted instantiation: channel.c:istcpy
Unexecuted instantiation: check.c:istcpy
Unexecuted instantiation: compression.c:istcpy
Unexecuted instantiation: counters.c:istcpy
Unexecuted instantiation: dgram.c:istcpy
Unexecuted instantiation: dns.c:istcpy
Unexecuted instantiation: dns_ring.c:istcpy
Unexecuted instantiation: event_hdl.c:istcpy
Unexecuted instantiation: extcheck.c:istcpy
Unexecuted instantiation: fcgi-app.c:istcpy
Unexecuted instantiation: fix.c:istcpy
Unexecuted instantiation: guid.c:istcpy
Unexecuted instantiation: h1.c:istcpy
Unexecuted instantiation: http_fetch.c:istcpy
Unexecuted instantiation: mqtt.c:istcpy
Unexecuted instantiation: mux_spop.c:istcpy
Unexecuted instantiation: pattern.c:istcpy
Unexecuted instantiation: payload.c:istcpy
Unexecuted instantiation: proto_tcp.c:istcpy
Unexecuted instantiation: shctx.c:istcpy
Unexecuted instantiation: stats-file.c:istcpy
Unexecuted instantiation: stats-json.c:istcpy
Unexecuted instantiation: stats-proxy.c:istcpy
Unexecuted instantiation: flt_spoe.c:istcpy
Unexecuted instantiation: h1_htx.c:istcpy
507
508
/* copies <src> over <dst> for a maximum of <count> bytes. Returns the number
509
 * of characters copied, or -1 if it does not fit. A (possibly truncated) valid
510
 * copy of <src> is always left into <dst>, and a trailing \0 is appended as
511
 * long as <count> is not null, even if that results in reducing the string by
512
 * one character.
513
 */
514
static inline ssize_t istscpy(struct ist *dst, const struct ist src, size_t count)
515
0
{
516
0
  dst->len = 0;
517
0
518
0
  if (!count)
519
0
    goto fail;
520
0
521
0
  if (count > src.len)
522
0
    count = src.len + 1;
523
0
524
0
  while (dst->len < count - 1) {
525
0
    dst->ptr[dst->len] = src.ptr[dst->len];
526
0
    dst->len++;
527
0
  }
528
0
529
0
  dst->ptr[dst->len] = 0;
530
0
  if (dst->len == src.len)
531
0
    return src.len;
532
0
 fail:
533
0
  return -1;
534
0
}
Unexecuted instantiation: fuzz_hpack_decode.c:istscpy
Unexecuted instantiation: fuzz_cfg_parser.c:istscpy
Unexecuted instantiation: cfgparse.c:istscpy
Unexecuted instantiation: chunk.c:istscpy
Unexecuted instantiation: cli.c:istscpy
Unexecuted instantiation: clock.c:istscpy
Unexecuted instantiation: connection.c:istscpy
Unexecuted instantiation: debug.c:istscpy
Unexecuted instantiation: dynbuf.c:istscpy
Unexecuted instantiation: errors.c:istscpy
Unexecuted instantiation: fd.c:istscpy
Unexecuted instantiation: filters.c:istscpy
Unexecuted instantiation: flt_http_comp.c:istscpy
Unexecuted instantiation: freq_ctr.c:istscpy
Unexecuted instantiation: frontend.c:istscpy
Unexecuted instantiation: haproxy.c:istscpy
Unexecuted instantiation: http.c:istscpy
Unexecuted instantiation: http_ana.c:istscpy
Unexecuted instantiation: http_ext.c:istscpy
Unexecuted instantiation: http_htx.c:istscpy
Unexecuted instantiation: http_rules.c:istscpy
Unexecuted instantiation: htx.c:istscpy
Unexecuted instantiation: lb_chash.c:istscpy
Unexecuted instantiation: lb_fas.c:istscpy
Unexecuted instantiation: lb_fwlc.c:istscpy
Unexecuted instantiation: lb_fwrr.c:istscpy
Unexecuted instantiation: lb_map.c:istscpy
Unexecuted instantiation: lb_ss.c:istscpy
Unexecuted instantiation: limits.c:istscpy
Unexecuted instantiation: listener.c:istscpy
Unexecuted instantiation: log.c:istscpy
Unexecuted instantiation: mailers.c:istscpy
Unexecuted instantiation: mworker.c:istscpy
Unexecuted instantiation: peers.c:istscpy
Unexecuted instantiation: pool.c:istscpy
Unexecuted instantiation: proto_rhttp.c:istscpy
Unexecuted instantiation: proto_sockpair.c:istscpy
Unexecuted instantiation: protocol.c:istscpy
Unexecuted instantiation: proxy.c:istscpy
Unexecuted instantiation: queue.c:istscpy
Unexecuted instantiation: regex.c:istscpy
Unexecuted instantiation: resolvers.c:istscpy
Unexecuted instantiation: ring.c:istscpy
Unexecuted instantiation: sample.c:istscpy
Unexecuted instantiation: server.c:istscpy
Unexecuted instantiation: session.c:istscpy
Unexecuted instantiation: signal.c:istscpy
Unexecuted instantiation: sink.c:istscpy
Unexecuted instantiation: sock.c:istscpy
Unexecuted instantiation: sock_inet.c:istscpy
Unexecuted instantiation: stats-html.c:istscpy
Unexecuted instantiation: stats.c:istscpy
Unexecuted instantiation: stconn.c:istscpy
Unexecuted instantiation: stick_table.c:istscpy
Unexecuted instantiation: stream.c:istscpy
Unexecuted instantiation: systemd.c:istscpy
Unexecuted instantiation: task.c:istscpy
Unexecuted instantiation: tcp_rules.c:istscpy
Unexecuted instantiation: tcpcheck.c:istscpy
Unexecuted instantiation: thread.c:istscpy
Unexecuted instantiation: tools.c:istscpy
Unexecuted instantiation: trace.c:istscpy
Unexecuted instantiation: uri_auth.c:istscpy
Unexecuted instantiation: vars.c:istscpy
Unexecuted instantiation: acl.c:istscpy
Unexecuted instantiation: action.c:istscpy
Unexecuted instantiation: activity.c:istscpy
Unexecuted instantiation: applet.c:istscpy
Unexecuted instantiation: arg.c:istscpy
Unexecuted instantiation: auth.c:istscpy
Unexecuted instantiation: backend.c:istscpy
Unexecuted instantiation: cache.c:istscpy
Unexecuted instantiation: cfgcond.c:istscpy
Unexecuted instantiation: cfgparse-global.c:istscpy
Unexecuted instantiation: cfgparse-listen.c:istscpy
Unexecuted instantiation: channel.c:istscpy
Unexecuted instantiation: check.c:istscpy
Unexecuted instantiation: compression.c:istscpy
Unexecuted instantiation: counters.c:istscpy
Unexecuted instantiation: dgram.c:istscpy
Unexecuted instantiation: dns.c:istscpy
Unexecuted instantiation: dns_ring.c:istscpy
Unexecuted instantiation: event_hdl.c:istscpy
Unexecuted instantiation: extcheck.c:istscpy
Unexecuted instantiation: fcgi-app.c:istscpy
Unexecuted instantiation: fix.c:istscpy
Unexecuted instantiation: guid.c:istscpy
Unexecuted instantiation: h1.c:istscpy
Unexecuted instantiation: http_fetch.c:istscpy
Unexecuted instantiation: mqtt.c:istscpy
Unexecuted instantiation: mux_spop.c:istscpy
Unexecuted instantiation: pattern.c:istscpy
Unexecuted instantiation: payload.c:istscpy
Unexecuted instantiation: proto_tcp.c:istscpy
Unexecuted instantiation: shctx.c:istscpy
Unexecuted instantiation: stats-file.c:istscpy
Unexecuted instantiation: stats-json.c:istscpy
Unexecuted instantiation: stats-proxy.c:istscpy
Unexecuted instantiation: flt_spoe.c:istscpy
Unexecuted instantiation: h1_htx.c:istscpy
535
536
/* appends <src> after <dst> for a maximum of <count> total bytes in <dst> after
537
 * the copy. <dst> is assumed to be <count> or less before the call. The new
538
 * string's length is returned, or -1 if a truncation happened. In all cases,
539
 * the contents are copied prior to reporting an error, so that the destination
540
 * at least contains a valid but truncated string.
541
 */
542
static inline ssize_t istcat(struct ist *dst, const struct ist src, size_t count)
543
0
{
544
0
  const char *s = src.ptr;
545
546
0
  while (dst->len < count && s != src.ptr + src.len)
547
0
    dst->ptr[dst->len++] = *s++;
548
549
0
  if (s == src.ptr + src.len)
550
0
    return dst->len;
551
552
0
  return -1;
553
0
}
Unexecuted instantiation: fuzz_hpack_decode.c:istcat
Unexecuted instantiation: fuzz_cfg_parser.c:istcat
Unexecuted instantiation: cfgparse.c:istcat
Unexecuted instantiation: chunk.c:istcat
Unexecuted instantiation: cli.c:istcat
Unexecuted instantiation: clock.c:istcat
Unexecuted instantiation: connection.c:istcat
Unexecuted instantiation: debug.c:istcat
Unexecuted instantiation: dynbuf.c:istcat
Unexecuted instantiation: errors.c:istcat
Unexecuted instantiation: fd.c:istcat
Unexecuted instantiation: filters.c:istcat
Unexecuted instantiation: flt_http_comp.c:istcat
Unexecuted instantiation: freq_ctr.c:istcat
Unexecuted instantiation: frontend.c:istcat
Unexecuted instantiation: haproxy.c:istcat
Unexecuted instantiation: http.c:istcat
Unexecuted instantiation: http_ana.c:istcat
Unexecuted instantiation: http_ext.c:istcat
Unexecuted instantiation: http_htx.c:istcat
Unexecuted instantiation: http_rules.c:istcat
Unexecuted instantiation: htx.c:istcat
Unexecuted instantiation: lb_chash.c:istcat
Unexecuted instantiation: lb_fas.c:istcat
Unexecuted instantiation: lb_fwlc.c:istcat
Unexecuted instantiation: lb_fwrr.c:istcat
Unexecuted instantiation: lb_map.c:istcat
Unexecuted instantiation: lb_ss.c:istcat
Unexecuted instantiation: limits.c:istcat
Unexecuted instantiation: listener.c:istcat
Unexecuted instantiation: log.c:istcat
Unexecuted instantiation: mailers.c:istcat
Unexecuted instantiation: mworker.c:istcat
Unexecuted instantiation: peers.c:istcat
Unexecuted instantiation: pool.c:istcat
Unexecuted instantiation: proto_rhttp.c:istcat
Unexecuted instantiation: proto_sockpair.c:istcat
Unexecuted instantiation: protocol.c:istcat
Unexecuted instantiation: proxy.c:istcat
Unexecuted instantiation: queue.c:istcat
Unexecuted instantiation: regex.c:istcat
Unexecuted instantiation: resolvers.c:istcat
Unexecuted instantiation: ring.c:istcat
Unexecuted instantiation: sample.c:istcat
Unexecuted instantiation: server.c:istcat
Unexecuted instantiation: session.c:istcat
Unexecuted instantiation: signal.c:istcat
Unexecuted instantiation: sink.c:istcat
Unexecuted instantiation: sock.c:istcat
Unexecuted instantiation: sock_inet.c:istcat
Unexecuted instantiation: stats-html.c:istcat
Unexecuted instantiation: stats.c:istcat
Unexecuted instantiation: stconn.c:istcat
Unexecuted instantiation: stick_table.c:istcat
Unexecuted instantiation: stream.c:istcat
Unexecuted instantiation: systemd.c:istcat
Unexecuted instantiation: task.c:istcat
Unexecuted instantiation: tcp_rules.c:istcat
Unexecuted instantiation: tcpcheck.c:istcat
Unexecuted instantiation: thread.c:istcat
Unexecuted instantiation: tools.c:istcat
Unexecuted instantiation: trace.c:istcat
Unexecuted instantiation: uri_auth.c:istcat
Unexecuted instantiation: vars.c:istcat
Unexecuted instantiation: acl.c:istcat
Unexecuted instantiation: action.c:istcat
Unexecuted instantiation: activity.c:istcat
Unexecuted instantiation: applet.c:istcat
Unexecuted instantiation: arg.c:istcat
Unexecuted instantiation: auth.c:istcat
Unexecuted instantiation: backend.c:istcat
Unexecuted instantiation: cache.c:istcat
Unexecuted instantiation: cfgcond.c:istcat
Unexecuted instantiation: cfgparse-global.c:istcat
Unexecuted instantiation: cfgparse-listen.c:istcat
Unexecuted instantiation: channel.c:istcat
Unexecuted instantiation: check.c:istcat
Unexecuted instantiation: compression.c:istcat
Unexecuted instantiation: counters.c:istcat
Unexecuted instantiation: dgram.c:istcat
Unexecuted instantiation: dns.c:istcat
Unexecuted instantiation: dns_ring.c:istcat
Unexecuted instantiation: event_hdl.c:istcat
Unexecuted instantiation: extcheck.c:istcat
Unexecuted instantiation: fcgi-app.c:istcat
Unexecuted instantiation: fix.c:istcat
Unexecuted instantiation: guid.c:istcat
Unexecuted instantiation: h1.c:istcat
Unexecuted instantiation: http_fetch.c:istcat
Unexecuted instantiation: mqtt.c:istcat
Unexecuted instantiation: mux_spop.c:istcat
Unexecuted instantiation: pattern.c:istcat
Unexecuted instantiation: payload.c:istcat
Unexecuted instantiation: proto_tcp.c:istcat
Unexecuted instantiation: shctx.c:istcat
Unexecuted instantiation: stats-file.c:istcat
Unexecuted instantiation: stats-json.c:istcat
Unexecuted instantiation: stats-proxy.c:istcat
Unexecuted instantiation: flt_spoe.c:istcat
Unexecuted instantiation: h1_htx.c:istcat
554
555
/* appends <src> after <dst> for a maximum of <count> total bytes in <dst> after
556
 * the copy. <dst> is assumed to be <count> or less before the call. The new
557
 * string's length is returned, or -1 if a truncation happened. In all cases,
558
 * the contents are copied prior to reporting an error, so that the destination
559
 * at least contains a valid but truncated string.
560
 */
561
static inline ssize_t istscat(struct ist *dst, const struct ist src, size_t count)
562
0
{
563
0
  const char *s = src.ptr;
564
0
565
0
  if (!count)
566
0
    goto fail;
567
0
568
0
  while (dst->len < count - 1 && s != src.ptr + src.len) {
569
0
    dst->ptr[dst->len++] = *s++;
570
0
  }
571
0
572
0
  dst->ptr[dst->len] = 0;
573
0
  if (s == src.ptr + src.len)
574
0
    return dst->len;
575
0
 fail:
576
0
  return -1;
577
0
}
Unexecuted instantiation: fuzz_hpack_decode.c:istscat
Unexecuted instantiation: fuzz_cfg_parser.c:istscat
Unexecuted instantiation: cfgparse.c:istscat
Unexecuted instantiation: chunk.c:istscat
Unexecuted instantiation: cli.c:istscat
Unexecuted instantiation: clock.c:istscat
Unexecuted instantiation: connection.c:istscat
Unexecuted instantiation: debug.c:istscat
Unexecuted instantiation: dynbuf.c:istscat
Unexecuted instantiation: errors.c:istscat
Unexecuted instantiation: fd.c:istscat
Unexecuted instantiation: filters.c:istscat
Unexecuted instantiation: flt_http_comp.c:istscat
Unexecuted instantiation: freq_ctr.c:istscat
Unexecuted instantiation: frontend.c:istscat
Unexecuted instantiation: haproxy.c:istscat
Unexecuted instantiation: http.c:istscat
Unexecuted instantiation: http_ana.c:istscat
Unexecuted instantiation: http_ext.c:istscat
Unexecuted instantiation: http_htx.c:istscat
Unexecuted instantiation: http_rules.c:istscat
Unexecuted instantiation: htx.c:istscat
Unexecuted instantiation: lb_chash.c:istscat
Unexecuted instantiation: lb_fas.c:istscat
Unexecuted instantiation: lb_fwlc.c:istscat
Unexecuted instantiation: lb_fwrr.c:istscat
Unexecuted instantiation: lb_map.c:istscat
Unexecuted instantiation: lb_ss.c:istscat
Unexecuted instantiation: limits.c:istscat
Unexecuted instantiation: listener.c:istscat
Unexecuted instantiation: log.c:istscat
Unexecuted instantiation: mailers.c:istscat
Unexecuted instantiation: mworker.c:istscat
Unexecuted instantiation: peers.c:istscat
Unexecuted instantiation: pool.c:istscat
Unexecuted instantiation: proto_rhttp.c:istscat
Unexecuted instantiation: proto_sockpair.c:istscat
Unexecuted instantiation: protocol.c:istscat
Unexecuted instantiation: proxy.c:istscat
Unexecuted instantiation: queue.c:istscat
Unexecuted instantiation: regex.c:istscat
Unexecuted instantiation: resolvers.c:istscat
Unexecuted instantiation: ring.c:istscat
Unexecuted instantiation: sample.c:istscat
Unexecuted instantiation: server.c:istscat
Unexecuted instantiation: session.c:istscat
Unexecuted instantiation: signal.c:istscat
Unexecuted instantiation: sink.c:istscat
Unexecuted instantiation: sock.c:istscat
Unexecuted instantiation: sock_inet.c:istscat
Unexecuted instantiation: stats-html.c:istscat
Unexecuted instantiation: stats.c:istscat
Unexecuted instantiation: stconn.c:istscat
Unexecuted instantiation: stick_table.c:istscat
Unexecuted instantiation: stream.c:istscat
Unexecuted instantiation: systemd.c:istscat
Unexecuted instantiation: task.c:istscat
Unexecuted instantiation: tcp_rules.c:istscat
Unexecuted instantiation: tcpcheck.c:istscat
Unexecuted instantiation: thread.c:istscat
Unexecuted instantiation: tools.c:istscat
Unexecuted instantiation: trace.c:istscat
Unexecuted instantiation: uri_auth.c:istscat
Unexecuted instantiation: vars.c:istscat
Unexecuted instantiation: acl.c:istscat
Unexecuted instantiation: action.c:istscat
Unexecuted instantiation: activity.c:istscat
Unexecuted instantiation: applet.c:istscat
Unexecuted instantiation: arg.c:istscat
Unexecuted instantiation: auth.c:istscat
Unexecuted instantiation: backend.c:istscat
Unexecuted instantiation: cache.c:istscat
Unexecuted instantiation: cfgcond.c:istscat
Unexecuted instantiation: cfgparse-global.c:istscat
Unexecuted instantiation: cfgparse-listen.c:istscat
Unexecuted instantiation: channel.c:istscat
Unexecuted instantiation: check.c:istscat
Unexecuted instantiation: compression.c:istscat
Unexecuted instantiation: counters.c:istscat
Unexecuted instantiation: dgram.c:istscat
Unexecuted instantiation: dns.c:istscat
Unexecuted instantiation: dns_ring.c:istscat
Unexecuted instantiation: event_hdl.c:istscat
Unexecuted instantiation: extcheck.c:istscat
Unexecuted instantiation: fcgi-app.c:istscat
Unexecuted instantiation: fix.c:istscat
Unexecuted instantiation: guid.c:istscat
Unexecuted instantiation: h1.c:istscat
Unexecuted instantiation: http_fetch.c:istscat
Unexecuted instantiation: mqtt.c:istscat
Unexecuted instantiation: mux_spop.c:istscat
Unexecuted instantiation: pattern.c:istscat
Unexecuted instantiation: payload.c:istscat
Unexecuted instantiation: proto_tcp.c:istscat
Unexecuted instantiation: shctx.c:istscat
Unexecuted instantiation: stats-file.c:istscat
Unexecuted instantiation: stats-json.c:istscat
Unexecuted instantiation: stats-proxy.c:istscat
Unexecuted instantiation: flt_spoe.c:istscat
Unexecuted instantiation: h1_htx.c:istscat
578
579
/* copies the entire <src> over <dst>, which must be allocated large enough to
580
 * hold the whole contents. No trailing zero is appended, this is mainly used
581
 * for protocol processing where the frame length has already been checked. An
582
 * ist made of the output and its length are returned. The destination is not
583
 * touched if src.len is null.
584
 */
585
static inline struct ist ist2bin(char *dst, const struct ist src)
586
0
{
587
0
  size_t ofs = 0;
588
0
589
0
  /* discourage the compiler from trying to optimize for large strings,
590
0
   * but tell it that most of our strings are not empty.
591
0
   */
592
0
  if (__builtin_expect(ofs < src.len, 1)) {
593
0
    do {
594
0
      dst[ofs] = src.ptr[ofs];
595
0
      ofs++;
596
0
    } while (__builtin_expect(ofs < src.len, 0));
597
0
  }
598
0
  return ist2(dst, ofs);
599
0
}
Unexecuted instantiation: fuzz_hpack_decode.c:ist2bin
Unexecuted instantiation: fuzz_cfg_parser.c:ist2bin
Unexecuted instantiation: cfgparse.c:ist2bin
Unexecuted instantiation: chunk.c:ist2bin
Unexecuted instantiation: cli.c:ist2bin
Unexecuted instantiation: clock.c:ist2bin
Unexecuted instantiation: connection.c:ist2bin
Unexecuted instantiation: debug.c:ist2bin
Unexecuted instantiation: dynbuf.c:ist2bin
Unexecuted instantiation: errors.c:ist2bin
Unexecuted instantiation: fd.c:ist2bin
Unexecuted instantiation: filters.c:ist2bin
Unexecuted instantiation: flt_http_comp.c:ist2bin
Unexecuted instantiation: freq_ctr.c:ist2bin
Unexecuted instantiation: frontend.c:ist2bin
Unexecuted instantiation: haproxy.c:ist2bin
Unexecuted instantiation: http.c:ist2bin
Unexecuted instantiation: http_ana.c:ist2bin
Unexecuted instantiation: http_ext.c:ist2bin
Unexecuted instantiation: http_htx.c:ist2bin
Unexecuted instantiation: http_rules.c:ist2bin
Unexecuted instantiation: htx.c:ist2bin
Unexecuted instantiation: lb_chash.c:ist2bin
Unexecuted instantiation: lb_fas.c:ist2bin
Unexecuted instantiation: lb_fwlc.c:ist2bin
Unexecuted instantiation: lb_fwrr.c:ist2bin
Unexecuted instantiation: lb_map.c:ist2bin
Unexecuted instantiation: lb_ss.c:ist2bin
Unexecuted instantiation: limits.c:ist2bin
Unexecuted instantiation: listener.c:ist2bin
Unexecuted instantiation: log.c:ist2bin
Unexecuted instantiation: mailers.c:ist2bin
Unexecuted instantiation: mworker.c:ist2bin
Unexecuted instantiation: peers.c:ist2bin
Unexecuted instantiation: pool.c:ist2bin
Unexecuted instantiation: proto_rhttp.c:ist2bin
Unexecuted instantiation: proto_sockpair.c:ist2bin
Unexecuted instantiation: protocol.c:ist2bin
Unexecuted instantiation: proxy.c:ist2bin
Unexecuted instantiation: queue.c:ist2bin
Unexecuted instantiation: regex.c:ist2bin
Unexecuted instantiation: resolvers.c:ist2bin
Unexecuted instantiation: ring.c:ist2bin
Unexecuted instantiation: sample.c:ist2bin
Unexecuted instantiation: server.c:ist2bin
Unexecuted instantiation: session.c:ist2bin
Unexecuted instantiation: signal.c:ist2bin
Unexecuted instantiation: sink.c:ist2bin
Unexecuted instantiation: sock.c:ist2bin
Unexecuted instantiation: sock_inet.c:ist2bin
Unexecuted instantiation: stats-html.c:ist2bin
Unexecuted instantiation: stats.c:ist2bin
Unexecuted instantiation: stconn.c:ist2bin
Unexecuted instantiation: stick_table.c:ist2bin
Unexecuted instantiation: stream.c:ist2bin
Unexecuted instantiation: systemd.c:ist2bin
Unexecuted instantiation: task.c:ist2bin
Unexecuted instantiation: tcp_rules.c:ist2bin
Unexecuted instantiation: tcpcheck.c:ist2bin
Unexecuted instantiation: thread.c:ist2bin
Unexecuted instantiation: tools.c:ist2bin
Unexecuted instantiation: trace.c:ist2bin
Unexecuted instantiation: uri_auth.c:ist2bin
Unexecuted instantiation: vars.c:ist2bin
Unexecuted instantiation: acl.c:ist2bin
Unexecuted instantiation: action.c:ist2bin
Unexecuted instantiation: activity.c:ist2bin
Unexecuted instantiation: applet.c:ist2bin
Unexecuted instantiation: arg.c:ist2bin
Unexecuted instantiation: auth.c:ist2bin
Unexecuted instantiation: backend.c:ist2bin
Unexecuted instantiation: cache.c:ist2bin
Unexecuted instantiation: cfgcond.c:ist2bin
Unexecuted instantiation: cfgparse-global.c:ist2bin
Unexecuted instantiation: cfgparse-listen.c:ist2bin
Unexecuted instantiation: channel.c:ist2bin
Unexecuted instantiation: check.c:ist2bin
Unexecuted instantiation: compression.c:ist2bin
Unexecuted instantiation: counters.c:ist2bin
Unexecuted instantiation: dgram.c:ist2bin
Unexecuted instantiation: dns.c:ist2bin
Unexecuted instantiation: dns_ring.c:ist2bin
Unexecuted instantiation: event_hdl.c:ist2bin
Unexecuted instantiation: extcheck.c:ist2bin
Unexecuted instantiation: fcgi-app.c:ist2bin
Unexecuted instantiation: fix.c:ist2bin
Unexecuted instantiation: guid.c:ist2bin
Unexecuted instantiation: h1.c:ist2bin
Unexecuted instantiation: http_fetch.c:ist2bin
Unexecuted instantiation: mqtt.c:ist2bin
Unexecuted instantiation: mux_spop.c:ist2bin
Unexecuted instantiation: pattern.c:ist2bin
Unexecuted instantiation: payload.c:ist2bin
Unexecuted instantiation: proto_tcp.c:ist2bin
Unexecuted instantiation: shctx.c:ist2bin
Unexecuted instantiation: stats-file.c:ist2bin
Unexecuted instantiation: stats-json.c:ist2bin
Unexecuted instantiation: stats-proxy.c:ist2bin
Unexecuted instantiation: flt_spoe.c:ist2bin
Unexecuted instantiation: h1_htx.c:ist2bin
600
601
/* copies the entire <src> over <dst>, which must be allocated large enough to
602
 * hold the whole contents as well as a trailing zero which is always appended.
603
 * This is mainly used for protocol conversions where the frame length has
604
 * already been checked. An ist made of the output and its length (not counting
605
 * the trailing zero) are returned.
606
 */
607
static inline struct ist ist2str(char *dst, const struct ist src)
608
0
{
609
0
  size_t ofs = 0;
610
0
611
0
  /* discourage the compiler from trying to optimize for large strings,
612
0
   * but tell it that most of our strings are not empty.
613
0
   */
614
0
  if (__builtin_expect(ofs < src.len, 1)) {
615
0
    do {
616
0
      dst[ofs] = src.ptr[ofs];
617
0
      ofs++;
618
0
    } while (__builtin_expect(ofs < src.len, 0));
619
0
  }
620
0
  dst[ofs] = 0;
621
0
  return ist2(dst, ofs);
622
0
}
Unexecuted instantiation: fuzz_hpack_decode.c:ist2str
Unexecuted instantiation: fuzz_cfg_parser.c:ist2str
Unexecuted instantiation: cfgparse.c:ist2str
Unexecuted instantiation: chunk.c:ist2str
Unexecuted instantiation: cli.c:ist2str
Unexecuted instantiation: clock.c:ist2str
Unexecuted instantiation: connection.c:ist2str
Unexecuted instantiation: debug.c:ist2str
Unexecuted instantiation: dynbuf.c:ist2str
Unexecuted instantiation: errors.c:ist2str
Unexecuted instantiation: fd.c:ist2str
Unexecuted instantiation: filters.c:ist2str
Unexecuted instantiation: flt_http_comp.c:ist2str
Unexecuted instantiation: freq_ctr.c:ist2str
Unexecuted instantiation: frontend.c:ist2str
Unexecuted instantiation: haproxy.c:ist2str
Unexecuted instantiation: http.c:ist2str
Unexecuted instantiation: http_ana.c:ist2str
Unexecuted instantiation: http_ext.c:ist2str
Unexecuted instantiation: http_htx.c:ist2str
Unexecuted instantiation: http_rules.c:ist2str
Unexecuted instantiation: htx.c:ist2str
Unexecuted instantiation: lb_chash.c:ist2str
Unexecuted instantiation: lb_fas.c:ist2str
Unexecuted instantiation: lb_fwlc.c:ist2str
Unexecuted instantiation: lb_fwrr.c:ist2str
Unexecuted instantiation: lb_map.c:ist2str
Unexecuted instantiation: lb_ss.c:ist2str
Unexecuted instantiation: limits.c:ist2str
Unexecuted instantiation: listener.c:ist2str
Unexecuted instantiation: log.c:ist2str
Unexecuted instantiation: mailers.c:ist2str
Unexecuted instantiation: mworker.c:ist2str
Unexecuted instantiation: peers.c:ist2str
Unexecuted instantiation: pool.c:ist2str
Unexecuted instantiation: proto_rhttp.c:ist2str
Unexecuted instantiation: proto_sockpair.c:ist2str
Unexecuted instantiation: protocol.c:ist2str
Unexecuted instantiation: proxy.c:ist2str
Unexecuted instantiation: queue.c:ist2str
Unexecuted instantiation: regex.c:ist2str
Unexecuted instantiation: resolvers.c:ist2str
Unexecuted instantiation: ring.c:ist2str
Unexecuted instantiation: sample.c:ist2str
Unexecuted instantiation: server.c:ist2str
Unexecuted instantiation: session.c:ist2str
Unexecuted instantiation: signal.c:ist2str
Unexecuted instantiation: sink.c:ist2str
Unexecuted instantiation: sock.c:ist2str
Unexecuted instantiation: sock_inet.c:ist2str
Unexecuted instantiation: stats-html.c:ist2str
Unexecuted instantiation: stats.c:ist2str
Unexecuted instantiation: stconn.c:ist2str
Unexecuted instantiation: stick_table.c:ist2str
Unexecuted instantiation: stream.c:ist2str
Unexecuted instantiation: systemd.c:ist2str
Unexecuted instantiation: task.c:ist2str
Unexecuted instantiation: tcp_rules.c:ist2str
Unexecuted instantiation: tcpcheck.c:ist2str
Unexecuted instantiation: thread.c:ist2str
Unexecuted instantiation: tools.c:ist2str
Unexecuted instantiation: trace.c:ist2str
Unexecuted instantiation: uri_auth.c:ist2str
Unexecuted instantiation: vars.c:ist2str
Unexecuted instantiation: acl.c:ist2str
Unexecuted instantiation: action.c:ist2str
Unexecuted instantiation: activity.c:ist2str
Unexecuted instantiation: applet.c:ist2str
Unexecuted instantiation: arg.c:ist2str
Unexecuted instantiation: auth.c:ist2str
Unexecuted instantiation: backend.c:ist2str
Unexecuted instantiation: cache.c:ist2str
Unexecuted instantiation: cfgcond.c:ist2str
Unexecuted instantiation: cfgparse-global.c:ist2str
Unexecuted instantiation: cfgparse-listen.c:ist2str
Unexecuted instantiation: channel.c:ist2str
Unexecuted instantiation: check.c:ist2str
Unexecuted instantiation: compression.c:ist2str
Unexecuted instantiation: counters.c:ist2str
Unexecuted instantiation: dgram.c:ist2str
Unexecuted instantiation: dns.c:ist2str
Unexecuted instantiation: dns_ring.c:ist2str
Unexecuted instantiation: event_hdl.c:ist2str
Unexecuted instantiation: extcheck.c:ist2str
Unexecuted instantiation: fcgi-app.c:ist2str
Unexecuted instantiation: fix.c:ist2str
Unexecuted instantiation: guid.c:ist2str
Unexecuted instantiation: h1.c:ist2str
Unexecuted instantiation: http_fetch.c:ist2str
Unexecuted instantiation: mqtt.c:ist2str
Unexecuted instantiation: mux_spop.c:ist2str
Unexecuted instantiation: pattern.c:ist2str
Unexecuted instantiation: payload.c:ist2str
Unexecuted instantiation: proto_tcp.c:ist2str
Unexecuted instantiation: shctx.c:ist2str
Unexecuted instantiation: stats-file.c:ist2str
Unexecuted instantiation: stats-json.c:ist2str
Unexecuted instantiation: stats-proxy.c:ist2str
Unexecuted instantiation: flt_spoe.c:ist2str
Unexecuted instantiation: h1_htx.c:ist2str
623
624
/* makes a lower case copy of the entire <src> into <dst>, which must have been
625
 * allocated large enough to hold the whole contents. No trailing zero is
626
 * appended, this is mainly used for protocol processing where the frame length
627
 * has already been checked. An ist made of the output and its length are
628
 * returned. The destination is not touched if src.len is null.
629
 */
630
static inline struct ist ist2bin_lc(char *dst, const struct ist src)
631
0
{
632
0
  size_t ofs = 0;
633
634
  /* discourage the compiler from trying to optimize for large strings,
635
   * but tell it that most of our strings are not empty.
636
   */
637
0
  if (__builtin_expect(ofs < src.len, 1)) {
638
0
    do {
639
0
      dst[ofs] = ist_lc[(unsigned char)src.ptr[ofs]];
640
0
      ofs++;
641
0
    } while (__builtin_expect(ofs < src.len, 0));
642
0
  }
643
0
  return ist2(dst, ofs);
644
0
}
Unexecuted instantiation: fuzz_hpack_decode.c:ist2bin_lc
Unexecuted instantiation: fuzz_cfg_parser.c:ist2bin_lc
Unexecuted instantiation: cfgparse.c:ist2bin_lc
Unexecuted instantiation: chunk.c:ist2bin_lc
Unexecuted instantiation: cli.c:ist2bin_lc
Unexecuted instantiation: clock.c:ist2bin_lc
Unexecuted instantiation: connection.c:ist2bin_lc
Unexecuted instantiation: debug.c:ist2bin_lc
Unexecuted instantiation: dynbuf.c:ist2bin_lc
Unexecuted instantiation: errors.c:ist2bin_lc
Unexecuted instantiation: fd.c:ist2bin_lc
Unexecuted instantiation: filters.c:ist2bin_lc
Unexecuted instantiation: flt_http_comp.c:ist2bin_lc
Unexecuted instantiation: freq_ctr.c:ist2bin_lc
Unexecuted instantiation: frontend.c:ist2bin_lc
Unexecuted instantiation: haproxy.c:ist2bin_lc
Unexecuted instantiation: http.c:ist2bin_lc
Unexecuted instantiation: http_ana.c:ist2bin_lc
Unexecuted instantiation: http_ext.c:ist2bin_lc
Unexecuted instantiation: http_htx.c:ist2bin_lc
Unexecuted instantiation: http_rules.c:ist2bin_lc
Unexecuted instantiation: htx.c:ist2bin_lc
Unexecuted instantiation: lb_chash.c:ist2bin_lc
Unexecuted instantiation: lb_fas.c:ist2bin_lc
Unexecuted instantiation: lb_fwlc.c:ist2bin_lc
Unexecuted instantiation: lb_fwrr.c:ist2bin_lc
Unexecuted instantiation: lb_map.c:ist2bin_lc
Unexecuted instantiation: lb_ss.c:ist2bin_lc
Unexecuted instantiation: limits.c:ist2bin_lc
Unexecuted instantiation: listener.c:ist2bin_lc
Unexecuted instantiation: log.c:ist2bin_lc
Unexecuted instantiation: mailers.c:ist2bin_lc
Unexecuted instantiation: mworker.c:ist2bin_lc
Unexecuted instantiation: peers.c:ist2bin_lc
Unexecuted instantiation: pool.c:ist2bin_lc
Unexecuted instantiation: proto_rhttp.c:ist2bin_lc
Unexecuted instantiation: proto_sockpair.c:ist2bin_lc
Unexecuted instantiation: protocol.c:ist2bin_lc
Unexecuted instantiation: proxy.c:ist2bin_lc
Unexecuted instantiation: queue.c:ist2bin_lc
Unexecuted instantiation: regex.c:ist2bin_lc
Unexecuted instantiation: resolvers.c:ist2bin_lc
Unexecuted instantiation: ring.c:ist2bin_lc
Unexecuted instantiation: sample.c:ist2bin_lc
Unexecuted instantiation: server.c:ist2bin_lc
Unexecuted instantiation: session.c:ist2bin_lc
Unexecuted instantiation: signal.c:ist2bin_lc
Unexecuted instantiation: sink.c:ist2bin_lc
Unexecuted instantiation: sock.c:ist2bin_lc
Unexecuted instantiation: sock_inet.c:ist2bin_lc
Unexecuted instantiation: stats-html.c:ist2bin_lc
Unexecuted instantiation: stats.c:ist2bin_lc
Unexecuted instantiation: stconn.c:ist2bin_lc
Unexecuted instantiation: stick_table.c:ist2bin_lc
Unexecuted instantiation: stream.c:ist2bin_lc
Unexecuted instantiation: systemd.c:ist2bin_lc
Unexecuted instantiation: task.c:ist2bin_lc
Unexecuted instantiation: tcp_rules.c:ist2bin_lc
Unexecuted instantiation: tcpcheck.c:ist2bin_lc
Unexecuted instantiation: thread.c:ist2bin_lc
Unexecuted instantiation: tools.c:ist2bin_lc
Unexecuted instantiation: trace.c:ist2bin_lc
Unexecuted instantiation: uri_auth.c:ist2bin_lc
Unexecuted instantiation: vars.c:ist2bin_lc
Unexecuted instantiation: acl.c:ist2bin_lc
Unexecuted instantiation: action.c:ist2bin_lc
Unexecuted instantiation: activity.c:ist2bin_lc
Unexecuted instantiation: applet.c:ist2bin_lc
Unexecuted instantiation: arg.c:ist2bin_lc
Unexecuted instantiation: auth.c:ist2bin_lc
Unexecuted instantiation: backend.c:ist2bin_lc
Unexecuted instantiation: cache.c:ist2bin_lc
Unexecuted instantiation: cfgcond.c:ist2bin_lc
Unexecuted instantiation: cfgparse-global.c:ist2bin_lc
Unexecuted instantiation: cfgparse-listen.c:ist2bin_lc
Unexecuted instantiation: channel.c:ist2bin_lc
Unexecuted instantiation: check.c:ist2bin_lc
Unexecuted instantiation: compression.c:ist2bin_lc
Unexecuted instantiation: counters.c:ist2bin_lc
Unexecuted instantiation: dgram.c:ist2bin_lc
Unexecuted instantiation: dns.c:ist2bin_lc
Unexecuted instantiation: dns_ring.c:ist2bin_lc
Unexecuted instantiation: event_hdl.c:ist2bin_lc
Unexecuted instantiation: extcheck.c:ist2bin_lc
Unexecuted instantiation: fcgi-app.c:ist2bin_lc
Unexecuted instantiation: fix.c:ist2bin_lc
Unexecuted instantiation: guid.c:ist2bin_lc
Unexecuted instantiation: h1.c:ist2bin_lc
Unexecuted instantiation: http_fetch.c:ist2bin_lc
Unexecuted instantiation: mqtt.c:ist2bin_lc
Unexecuted instantiation: mux_spop.c:ist2bin_lc
Unexecuted instantiation: pattern.c:ist2bin_lc
Unexecuted instantiation: payload.c:ist2bin_lc
Unexecuted instantiation: proto_tcp.c:ist2bin_lc
Unexecuted instantiation: shctx.c:ist2bin_lc
Unexecuted instantiation: stats-file.c:ist2bin_lc
Unexecuted instantiation: stats-json.c:ist2bin_lc
Unexecuted instantiation: stats-proxy.c:ist2bin_lc
Unexecuted instantiation: flt_spoe.c:ist2bin_lc
Unexecuted instantiation: h1_htx.c:ist2bin_lc
645
646
/* makes a lower case copy of the entire <src> into <dst>, which must have been
647
 * allocated large enough to hold the whole contents as well as a trailing zero
648
 * which is always appended. This is mainly used for protocol conversions where
649
 * the frame length has already been checked. An ist made of the output and its
650
 * length (not counting the trailing zero) are returned.
651
 */
652
static inline struct ist ist2str_lc(char *dst, const struct ist src)
653
0
{
654
0
  size_t ofs = 0;
655
0
656
0
  /* discourage the compiler from trying to optimize for large strings,
657
0
   * but tell it that most of our strings are not empty.
658
0
   */
659
0
  if (__builtin_expect(ofs < src.len, 1)) {
660
0
    do {
661
0
      dst[ofs] = ist_lc[(unsigned char)src.ptr[ofs]];
662
0
      ofs++;
663
0
    } while (__builtin_expect(ofs < src.len, 0));
664
0
  }
665
0
  dst[ofs] = 0;
666
0
  return ist2(dst, ofs);
667
0
}
Unexecuted instantiation: fuzz_hpack_decode.c:ist2str_lc
Unexecuted instantiation: fuzz_cfg_parser.c:ist2str_lc
Unexecuted instantiation: cfgparse.c:ist2str_lc
Unexecuted instantiation: chunk.c:ist2str_lc
Unexecuted instantiation: cli.c:ist2str_lc
Unexecuted instantiation: clock.c:ist2str_lc
Unexecuted instantiation: connection.c:ist2str_lc
Unexecuted instantiation: debug.c:ist2str_lc
Unexecuted instantiation: dynbuf.c:ist2str_lc
Unexecuted instantiation: errors.c:ist2str_lc
Unexecuted instantiation: fd.c:ist2str_lc
Unexecuted instantiation: filters.c:ist2str_lc
Unexecuted instantiation: flt_http_comp.c:ist2str_lc
Unexecuted instantiation: freq_ctr.c:ist2str_lc
Unexecuted instantiation: frontend.c:ist2str_lc
Unexecuted instantiation: haproxy.c:ist2str_lc
Unexecuted instantiation: http.c:ist2str_lc
Unexecuted instantiation: http_ana.c:ist2str_lc
Unexecuted instantiation: http_ext.c:ist2str_lc
Unexecuted instantiation: http_htx.c:ist2str_lc
Unexecuted instantiation: http_rules.c:ist2str_lc
Unexecuted instantiation: htx.c:ist2str_lc
Unexecuted instantiation: lb_chash.c:ist2str_lc
Unexecuted instantiation: lb_fas.c:ist2str_lc
Unexecuted instantiation: lb_fwlc.c:ist2str_lc
Unexecuted instantiation: lb_fwrr.c:ist2str_lc
Unexecuted instantiation: lb_map.c:ist2str_lc
Unexecuted instantiation: lb_ss.c:ist2str_lc
Unexecuted instantiation: limits.c:ist2str_lc
Unexecuted instantiation: listener.c:ist2str_lc
Unexecuted instantiation: log.c:ist2str_lc
Unexecuted instantiation: mailers.c:ist2str_lc
Unexecuted instantiation: mworker.c:ist2str_lc
Unexecuted instantiation: peers.c:ist2str_lc
Unexecuted instantiation: pool.c:ist2str_lc
Unexecuted instantiation: proto_rhttp.c:ist2str_lc
Unexecuted instantiation: proto_sockpair.c:ist2str_lc
Unexecuted instantiation: protocol.c:ist2str_lc
Unexecuted instantiation: proxy.c:ist2str_lc
Unexecuted instantiation: queue.c:ist2str_lc
Unexecuted instantiation: regex.c:ist2str_lc
Unexecuted instantiation: resolvers.c:ist2str_lc
Unexecuted instantiation: ring.c:ist2str_lc
Unexecuted instantiation: sample.c:ist2str_lc
Unexecuted instantiation: server.c:ist2str_lc
Unexecuted instantiation: session.c:ist2str_lc
Unexecuted instantiation: signal.c:ist2str_lc
Unexecuted instantiation: sink.c:ist2str_lc
Unexecuted instantiation: sock.c:ist2str_lc
Unexecuted instantiation: sock_inet.c:ist2str_lc
Unexecuted instantiation: stats-html.c:ist2str_lc
Unexecuted instantiation: stats.c:ist2str_lc
Unexecuted instantiation: stconn.c:ist2str_lc
Unexecuted instantiation: stick_table.c:ist2str_lc
Unexecuted instantiation: stream.c:ist2str_lc
Unexecuted instantiation: systemd.c:ist2str_lc
Unexecuted instantiation: task.c:ist2str_lc
Unexecuted instantiation: tcp_rules.c:ist2str_lc
Unexecuted instantiation: tcpcheck.c:ist2str_lc
Unexecuted instantiation: thread.c:ist2str_lc
Unexecuted instantiation: tools.c:ist2str_lc
Unexecuted instantiation: trace.c:ist2str_lc
Unexecuted instantiation: uri_auth.c:ist2str_lc
Unexecuted instantiation: vars.c:ist2str_lc
Unexecuted instantiation: acl.c:ist2str_lc
Unexecuted instantiation: action.c:ist2str_lc
Unexecuted instantiation: activity.c:ist2str_lc
Unexecuted instantiation: applet.c:ist2str_lc
Unexecuted instantiation: arg.c:ist2str_lc
Unexecuted instantiation: auth.c:ist2str_lc
Unexecuted instantiation: backend.c:ist2str_lc
Unexecuted instantiation: cache.c:ist2str_lc
Unexecuted instantiation: cfgcond.c:ist2str_lc
Unexecuted instantiation: cfgparse-global.c:ist2str_lc
Unexecuted instantiation: cfgparse-listen.c:ist2str_lc
Unexecuted instantiation: channel.c:ist2str_lc
Unexecuted instantiation: check.c:ist2str_lc
Unexecuted instantiation: compression.c:ist2str_lc
Unexecuted instantiation: counters.c:ist2str_lc
Unexecuted instantiation: dgram.c:ist2str_lc
Unexecuted instantiation: dns.c:ist2str_lc
Unexecuted instantiation: dns_ring.c:ist2str_lc
Unexecuted instantiation: event_hdl.c:ist2str_lc
Unexecuted instantiation: extcheck.c:ist2str_lc
Unexecuted instantiation: fcgi-app.c:ist2str_lc
Unexecuted instantiation: fix.c:ist2str_lc
Unexecuted instantiation: guid.c:ist2str_lc
Unexecuted instantiation: h1.c:ist2str_lc
Unexecuted instantiation: http_fetch.c:ist2str_lc
Unexecuted instantiation: mqtt.c:ist2str_lc
Unexecuted instantiation: mux_spop.c:ist2str_lc
Unexecuted instantiation: pattern.c:ist2str_lc
Unexecuted instantiation: payload.c:ist2str_lc
Unexecuted instantiation: proto_tcp.c:ist2str_lc
Unexecuted instantiation: shctx.c:ist2str_lc
Unexecuted instantiation: stats-file.c:ist2str_lc
Unexecuted instantiation: stats-json.c:ist2str_lc
Unexecuted instantiation: stats-proxy.c:ist2str_lc
Unexecuted instantiation: flt_spoe.c:ist2str_lc
Unexecuted instantiation: h1_htx.c:ist2str_lc
668
669
/* makes an upper case copy of the entire <src> into <dst>, which must have
670
 * been allocated large enough to hold the whole contents. No trailing zero is
671
 * appended, this is mainly used for protocol processing where the frame length
672
 * has already been checked. An ist made of the output and its length are
673
 * returned. The destination is not touched if src.len is null.
674
 */
675
static inline struct ist ist2bin_uc(char *dst, const struct ist src)
676
0
{
677
0
  size_t ofs = 0;
678
0
679
0
  /* discourage the compiler from trying to optimize for large strings,
680
0
   * but tell it that most of our strings are not empty.
681
0
   */
682
0
  if (__builtin_expect(ofs < src.len, 1)) {
683
0
    do {
684
0
      dst[ofs] = ist_uc[(unsigned char)src.ptr[ofs]];
685
0
      ofs++;
686
0
    } while (__builtin_expect(ofs < src.len, 0));
687
0
  }
688
0
  return ist2(dst, ofs);
689
0
}
Unexecuted instantiation: fuzz_hpack_decode.c:ist2bin_uc
Unexecuted instantiation: fuzz_cfg_parser.c:ist2bin_uc
Unexecuted instantiation: cfgparse.c:ist2bin_uc
Unexecuted instantiation: chunk.c:ist2bin_uc
Unexecuted instantiation: cli.c:ist2bin_uc
Unexecuted instantiation: clock.c:ist2bin_uc
Unexecuted instantiation: connection.c:ist2bin_uc
Unexecuted instantiation: debug.c:ist2bin_uc
Unexecuted instantiation: dynbuf.c:ist2bin_uc
Unexecuted instantiation: errors.c:ist2bin_uc
Unexecuted instantiation: fd.c:ist2bin_uc
Unexecuted instantiation: filters.c:ist2bin_uc
Unexecuted instantiation: flt_http_comp.c:ist2bin_uc
Unexecuted instantiation: freq_ctr.c:ist2bin_uc
Unexecuted instantiation: frontend.c:ist2bin_uc
Unexecuted instantiation: haproxy.c:ist2bin_uc
Unexecuted instantiation: http.c:ist2bin_uc
Unexecuted instantiation: http_ana.c:ist2bin_uc
Unexecuted instantiation: http_ext.c:ist2bin_uc
Unexecuted instantiation: http_htx.c:ist2bin_uc
Unexecuted instantiation: http_rules.c:ist2bin_uc
Unexecuted instantiation: htx.c:ist2bin_uc
Unexecuted instantiation: lb_chash.c:ist2bin_uc
Unexecuted instantiation: lb_fas.c:ist2bin_uc
Unexecuted instantiation: lb_fwlc.c:ist2bin_uc
Unexecuted instantiation: lb_fwrr.c:ist2bin_uc
Unexecuted instantiation: lb_map.c:ist2bin_uc
Unexecuted instantiation: lb_ss.c:ist2bin_uc
Unexecuted instantiation: limits.c:ist2bin_uc
Unexecuted instantiation: listener.c:ist2bin_uc
Unexecuted instantiation: log.c:ist2bin_uc
Unexecuted instantiation: mailers.c:ist2bin_uc
Unexecuted instantiation: mworker.c:ist2bin_uc
Unexecuted instantiation: peers.c:ist2bin_uc
Unexecuted instantiation: pool.c:ist2bin_uc
Unexecuted instantiation: proto_rhttp.c:ist2bin_uc
Unexecuted instantiation: proto_sockpair.c:ist2bin_uc
Unexecuted instantiation: protocol.c:ist2bin_uc
Unexecuted instantiation: proxy.c:ist2bin_uc
Unexecuted instantiation: queue.c:ist2bin_uc
Unexecuted instantiation: regex.c:ist2bin_uc
Unexecuted instantiation: resolvers.c:ist2bin_uc
Unexecuted instantiation: ring.c:ist2bin_uc
Unexecuted instantiation: sample.c:ist2bin_uc
Unexecuted instantiation: server.c:ist2bin_uc
Unexecuted instantiation: session.c:ist2bin_uc
Unexecuted instantiation: signal.c:ist2bin_uc
Unexecuted instantiation: sink.c:ist2bin_uc
Unexecuted instantiation: sock.c:ist2bin_uc
Unexecuted instantiation: sock_inet.c:ist2bin_uc
Unexecuted instantiation: stats-html.c:ist2bin_uc
Unexecuted instantiation: stats.c:ist2bin_uc
Unexecuted instantiation: stconn.c:ist2bin_uc
Unexecuted instantiation: stick_table.c:ist2bin_uc
Unexecuted instantiation: stream.c:ist2bin_uc
Unexecuted instantiation: systemd.c:ist2bin_uc
Unexecuted instantiation: task.c:ist2bin_uc
Unexecuted instantiation: tcp_rules.c:ist2bin_uc
Unexecuted instantiation: tcpcheck.c:ist2bin_uc
Unexecuted instantiation: thread.c:ist2bin_uc
Unexecuted instantiation: tools.c:ist2bin_uc
Unexecuted instantiation: trace.c:ist2bin_uc
Unexecuted instantiation: uri_auth.c:ist2bin_uc
Unexecuted instantiation: vars.c:ist2bin_uc
Unexecuted instantiation: acl.c:ist2bin_uc
Unexecuted instantiation: action.c:ist2bin_uc
Unexecuted instantiation: activity.c:ist2bin_uc
Unexecuted instantiation: applet.c:ist2bin_uc
Unexecuted instantiation: arg.c:ist2bin_uc
Unexecuted instantiation: auth.c:ist2bin_uc
Unexecuted instantiation: backend.c:ist2bin_uc
Unexecuted instantiation: cache.c:ist2bin_uc
Unexecuted instantiation: cfgcond.c:ist2bin_uc
Unexecuted instantiation: cfgparse-global.c:ist2bin_uc
Unexecuted instantiation: cfgparse-listen.c:ist2bin_uc
Unexecuted instantiation: channel.c:ist2bin_uc
Unexecuted instantiation: check.c:ist2bin_uc
Unexecuted instantiation: compression.c:ist2bin_uc
Unexecuted instantiation: counters.c:ist2bin_uc
Unexecuted instantiation: dgram.c:ist2bin_uc
Unexecuted instantiation: dns.c:ist2bin_uc
Unexecuted instantiation: dns_ring.c:ist2bin_uc
Unexecuted instantiation: event_hdl.c:ist2bin_uc
Unexecuted instantiation: extcheck.c:ist2bin_uc
Unexecuted instantiation: fcgi-app.c:ist2bin_uc
Unexecuted instantiation: fix.c:ist2bin_uc
Unexecuted instantiation: guid.c:ist2bin_uc
Unexecuted instantiation: h1.c:ist2bin_uc
Unexecuted instantiation: http_fetch.c:ist2bin_uc
Unexecuted instantiation: mqtt.c:ist2bin_uc
Unexecuted instantiation: mux_spop.c:ist2bin_uc
Unexecuted instantiation: pattern.c:ist2bin_uc
Unexecuted instantiation: payload.c:ist2bin_uc
Unexecuted instantiation: proto_tcp.c:ist2bin_uc
Unexecuted instantiation: shctx.c:ist2bin_uc
Unexecuted instantiation: stats-file.c:ist2bin_uc
Unexecuted instantiation: stats-json.c:ist2bin_uc
Unexecuted instantiation: stats-proxy.c:ist2bin_uc
Unexecuted instantiation: flt_spoe.c:ist2bin_uc
Unexecuted instantiation: h1_htx.c:ist2bin_uc
690
691
/* makes an upper case copy of the entire <src> into <dst>, which must have been
692
 * allocated large enough to hold the whole contents as well as a trailing zero
693
 * which is always appended. This is mainly used for protocol conversions where
694
 * the frame length has already been checked. An ist made of the output and its
695
 * length (not counting the trailing zero) are returned.
696
 */
697
static inline struct ist ist2str_uc(char *dst, const struct ist src)
698
0
{
699
0
  size_t ofs = 0;
700
0
701
0
  /* discourage the compiler from trying to optimize for large strings,
702
0
   * but tell it that most of our strings are not empty.
703
0
   */
704
0
  if (__builtin_expect(ofs < src.len, 1)) {
705
0
    do {
706
0
      dst[ofs] = ist_uc[(unsigned char)src.ptr[ofs]];
707
0
      ofs++;
708
0
    } while (__builtin_expect(ofs < src.len, 0));
709
0
  }
710
0
  dst[ofs] = 0;
711
0
  return ist2(dst, ofs);
712
0
}
Unexecuted instantiation: fuzz_hpack_decode.c:ist2str_uc
Unexecuted instantiation: fuzz_cfg_parser.c:ist2str_uc
Unexecuted instantiation: cfgparse.c:ist2str_uc
Unexecuted instantiation: chunk.c:ist2str_uc
Unexecuted instantiation: cli.c:ist2str_uc
Unexecuted instantiation: clock.c:ist2str_uc
Unexecuted instantiation: connection.c:ist2str_uc
Unexecuted instantiation: debug.c:ist2str_uc
Unexecuted instantiation: dynbuf.c:ist2str_uc
Unexecuted instantiation: errors.c:ist2str_uc
Unexecuted instantiation: fd.c:ist2str_uc
Unexecuted instantiation: filters.c:ist2str_uc
Unexecuted instantiation: flt_http_comp.c:ist2str_uc
Unexecuted instantiation: freq_ctr.c:ist2str_uc
Unexecuted instantiation: frontend.c:ist2str_uc
Unexecuted instantiation: haproxy.c:ist2str_uc
Unexecuted instantiation: http.c:ist2str_uc
Unexecuted instantiation: http_ana.c:ist2str_uc
Unexecuted instantiation: http_ext.c:ist2str_uc
Unexecuted instantiation: http_htx.c:ist2str_uc
Unexecuted instantiation: http_rules.c:ist2str_uc
Unexecuted instantiation: htx.c:ist2str_uc
Unexecuted instantiation: lb_chash.c:ist2str_uc
Unexecuted instantiation: lb_fas.c:ist2str_uc
Unexecuted instantiation: lb_fwlc.c:ist2str_uc
Unexecuted instantiation: lb_fwrr.c:ist2str_uc
Unexecuted instantiation: lb_map.c:ist2str_uc
Unexecuted instantiation: lb_ss.c:ist2str_uc
Unexecuted instantiation: limits.c:ist2str_uc
Unexecuted instantiation: listener.c:ist2str_uc
Unexecuted instantiation: log.c:ist2str_uc
Unexecuted instantiation: mailers.c:ist2str_uc
Unexecuted instantiation: mworker.c:ist2str_uc
Unexecuted instantiation: peers.c:ist2str_uc
Unexecuted instantiation: pool.c:ist2str_uc
Unexecuted instantiation: proto_rhttp.c:ist2str_uc
Unexecuted instantiation: proto_sockpair.c:ist2str_uc
Unexecuted instantiation: protocol.c:ist2str_uc
Unexecuted instantiation: proxy.c:ist2str_uc
Unexecuted instantiation: queue.c:ist2str_uc
Unexecuted instantiation: regex.c:ist2str_uc
Unexecuted instantiation: resolvers.c:ist2str_uc
Unexecuted instantiation: ring.c:ist2str_uc
Unexecuted instantiation: sample.c:ist2str_uc
Unexecuted instantiation: server.c:ist2str_uc
Unexecuted instantiation: session.c:ist2str_uc
Unexecuted instantiation: signal.c:ist2str_uc
Unexecuted instantiation: sink.c:ist2str_uc
Unexecuted instantiation: sock.c:ist2str_uc
Unexecuted instantiation: sock_inet.c:ist2str_uc
Unexecuted instantiation: stats-html.c:ist2str_uc
Unexecuted instantiation: stats.c:ist2str_uc
Unexecuted instantiation: stconn.c:ist2str_uc
Unexecuted instantiation: stick_table.c:ist2str_uc
Unexecuted instantiation: stream.c:ist2str_uc
Unexecuted instantiation: systemd.c:ist2str_uc
Unexecuted instantiation: task.c:ist2str_uc
Unexecuted instantiation: tcp_rules.c:ist2str_uc
Unexecuted instantiation: tcpcheck.c:ist2str_uc
Unexecuted instantiation: thread.c:ist2str_uc
Unexecuted instantiation: tools.c:ist2str_uc
Unexecuted instantiation: trace.c:ist2str_uc
Unexecuted instantiation: uri_auth.c:ist2str_uc
Unexecuted instantiation: vars.c:ist2str_uc
Unexecuted instantiation: acl.c:ist2str_uc
Unexecuted instantiation: action.c:ist2str_uc
Unexecuted instantiation: activity.c:ist2str_uc
Unexecuted instantiation: applet.c:ist2str_uc
Unexecuted instantiation: arg.c:ist2str_uc
Unexecuted instantiation: auth.c:ist2str_uc
Unexecuted instantiation: backend.c:ist2str_uc
Unexecuted instantiation: cache.c:ist2str_uc
Unexecuted instantiation: cfgcond.c:ist2str_uc
Unexecuted instantiation: cfgparse-global.c:ist2str_uc
Unexecuted instantiation: cfgparse-listen.c:ist2str_uc
Unexecuted instantiation: channel.c:ist2str_uc
Unexecuted instantiation: check.c:ist2str_uc
Unexecuted instantiation: compression.c:ist2str_uc
Unexecuted instantiation: counters.c:ist2str_uc
Unexecuted instantiation: dgram.c:ist2str_uc
Unexecuted instantiation: dns.c:ist2str_uc
Unexecuted instantiation: dns_ring.c:ist2str_uc
Unexecuted instantiation: event_hdl.c:ist2str_uc
Unexecuted instantiation: extcheck.c:ist2str_uc
Unexecuted instantiation: fcgi-app.c:ist2str_uc
Unexecuted instantiation: fix.c:ist2str_uc
Unexecuted instantiation: guid.c:ist2str_uc
Unexecuted instantiation: h1.c:ist2str_uc
Unexecuted instantiation: http_fetch.c:ist2str_uc
Unexecuted instantiation: mqtt.c:ist2str_uc
Unexecuted instantiation: mux_spop.c:ist2str_uc
Unexecuted instantiation: pattern.c:ist2str_uc
Unexecuted instantiation: payload.c:ist2str_uc
Unexecuted instantiation: proto_tcp.c:ist2str_uc
Unexecuted instantiation: shctx.c:ist2str_uc
Unexecuted instantiation: stats-file.c:ist2str_uc
Unexecuted instantiation: stats-json.c:ist2str_uc
Unexecuted instantiation: stats-proxy.c:ist2str_uc
Unexecuted instantiation: flt_spoe.c:ist2str_uc
Unexecuted instantiation: h1_htx.c:ist2str_uc
713
714
/* looks for first occurrence of character <chr> in string <ist>. Returns the
715
 * pointer if found, or NULL if not found.
716
 */
717
static inline char *istchr(const struct ist ist, char chr)
718
0
{
719
0
  char *s = ist.ptr;
720
721
0
  do {
722
0
    if (s >= ist.ptr + ist.len)
723
0
      return NULL;
724
0
  } while (*s++ != chr);
725
0
  return s - 1;
726
0
}
Unexecuted instantiation: fuzz_hpack_decode.c:istchr
Unexecuted instantiation: fuzz_cfg_parser.c:istchr
Unexecuted instantiation: cfgparse.c:istchr
Unexecuted instantiation: chunk.c:istchr
Unexecuted instantiation: cli.c:istchr
Unexecuted instantiation: clock.c:istchr
Unexecuted instantiation: connection.c:istchr
Unexecuted instantiation: debug.c:istchr
Unexecuted instantiation: dynbuf.c:istchr
Unexecuted instantiation: errors.c:istchr
Unexecuted instantiation: fd.c:istchr
Unexecuted instantiation: filters.c:istchr
Unexecuted instantiation: flt_http_comp.c:istchr
Unexecuted instantiation: freq_ctr.c:istchr
Unexecuted instantiation: frontend.c:istchr
Unexecuted instantiation: haproxy.c:istchr
Unexecuted instantiation: http.c:istchr
Unexecuted instantiation: http_ana.c:istchr
Unexecuted instantiation: http_ext.c:istchr
Unexecuted instantiation: http_htx.c:istchr
Unexecuted instantiation: http_rules.c:istchr
Unexecuted instantiation: htx.c:istchr
Unexecuted instantiation: lb_chash.c:istchr
Unexecuted instantiation: lb_fas.c:istchr
Unexecuted instantiation: lb_fwlc.c:istchr
Unexecuted instantiation: lb_fwrr.c:istchr
Unexecuted instantiation: lb_map.c:istchr
Unexecuted instantiation: lb_ss.c:istchr
Unexecuted instantiation: limits.c:istchr
Unexecuted instantiation: listener.c:istchr
Unexecuted instantiation: log.c:istchr
Unexecuted instantiation: mailers.c:istchr
Unexecuted instantiation: mworker.c:istchr
Unexecuted instantiation: peers.c:istchr
Unexecuted instantiation: pool.c:istchr
Unexecuted instantiation: proto_rhttp.c:istchr
Unexecuted instantiation: proto_sockpair.c:istchr
Unexecuted instantiation: protocol.c:istchr
Unexecuted instantiation: proxy.c:istchr
Unexecuted instantiation: queue.c:istchr
Unexecuted instantiation: regex.c:istchr
Unexecuted instantiation: resolvers.c:istchr
Unexecuted instantiation: ring.c:istchr
Unexecuted instantiation: sample.c:istchr
Unexecuted instantiation: server.c:istchr
Unexecuted instantiation: session.c:istchr
Unexecuted instantiation: signal.c:istchr
Unexecuted instantiation: sink.c:istchr
Unexecuted instantiation: sock.c:istchr
Unexecuted instantiation: sock_inet.c:istchr
Unexecuted instantiation: stats-html.c:istchr
Unexecuted instantiation: stats.c:istchr
Unexecuted instantiation: stconn.c:istchr
Unexecuted instantiation: stick_table.c:istchr
Unexecuted instantiation: stream.c:istchr
Unexecuted instantiation: systemd.c:istchr
Unexecuted instantiation: task.c:istchr
Unexecuted instantiation: tcp_rules.c:istchr
Unexecuted instantiation: tcpcheck.c:istchr
Unexecuted instantiation: thread.c:istchr
Unexecuted instantiation: tools.c:istchr
Unexecuted instantiation: trace.c:istchr
Unexecuted instantiation: uri_auth.c:istchr
Unexecuted instantiation: vars.c:istchr
Unexecuted instantiation: acl.c:istchr
Unexecuted instantiation: action.c:istchr
Unexecuted instantiation: activity.c:istchr
Unexecuted instantiation: applet.c:istchr
Unexecuted instantiation: arg.c:istchr
Unexecuted instantiation: auth.c:istchr
Unexecuted instantiation: backend.c:istchr
Unexecuted instantiation: cache.c:istchr
Unexecuted instantiation: cfgcond.c:istchr
Unexecuted instantiation: cfgparse-global.c:istchr
Unexecuted instantiation: cfgparse-listen.c:istchr
Unexecuted instantiation: channel.c:istchr
Unexecuted instantiation: check.c:istchr
Unexecuted instantiation: compression.c:istchr
Unexecuted instantiation: counters.c:istchr
Unexecuted instantiation: dgram.c:istchr
Unexecuted instantiation: dns.c:istchr
Unexecuted instantiation: dns_ring.c:istchr
Unexecuted instantiation: event_hdl.c:istchr
Unexecuted instantiation: extcheck.c:istchr
Unexecuted instantiation: fcgi-app.c:istchr
Unexecuted instantiation: fix.c:istchr
Unexecuted instantiation: guid.c:istchr
Unexecuted instantiation: h1.c:istchr
Unexecuted instantiation: http_fetch.c:istchr
Unexecuted instantiation: mqtt.c:istchr
Unexecuted instantiation: mux_spop.c:istchr
Unexecuted instantiation: pattern.c:istchr
Unexecuted instantiation: payload.c:istchr
Unexecuted instantiation: proto_tcp.c:istchr
Unexecuted instantiation: shctx.c:istchr
Unexecuted instantiation: stats-file.c:istchr
Unexecuted instantiation: stats-json.c:istchr
Unexecuted instantiation: stats-proxy.c:istchr
Unexecuted instantiation: flt_spoe.c:istchr
Unexecuted instantiation: h1_htx.c:istchr
727
728
/* Returns a pointer to the first control character found in <ist>, or NULL if
729
 * none is present. A control character is defined as a byte whose value is
730
 * between 0x00 and 0x1F included. The function is optimized for strings having
731
 * no CTL chars by processing up to sizeof(long) bytes at once on architectures
732
 * supporting efficient unaligned accesses. Despite this it is not very fast
733
 * (~0.43 byte/cycle) and should mostly be used on low match probability when
734
 * it can save a call to a much slower function.
735
 */
736
static inline const char *ist_find_ctl(const struct ist ist)
737
0
{
738
0
  const union { unsigned long v; } __attribute__((packed)) *u;
739
0
  const char *curr = (void *)ist.ptr - sizeof(long);
740
0
  const char *last = curr + ist.len;
741
0
  unsigned long l1, l2;
742
0
743
0
  do {
744
0
    curr += sizeof(long);
745
0
    if (curr > last)
746
0
      break;
747
0
    u = (void *)curr;
748
0
    /* subtract 0x202020...20 to the value to generate a carry in
749
0
     * the lower byte if the byte contains a lower value. If we
750
0
     * generate a bit 7 that was not there, it means the byte was
751
0
     * within 0x00..0x1F.
752
0
     */
753
0
    l2  = u->v;
754
0
    l1  = ~l2 & ((~0UL / 255) * 0x80); /* 0x808080...80 */
755
0
    l2 -= (~0UL / 255) * 0x20;         /* 0x202020...20 */
756
0
  } while ((l1 & l2) == 0);
757
0
758
0
  last += sizeof(long);
759
0
  if (__builtin_expect(curr < last, 0)) {
760
0
    do {
761
0
      if ((unsigned char)*curr < 0x20)
762
0
        return curr;
763
0
      curr++;
764
0
    } while (curr < last);
765
0
  }
766
0
  return NULL;
767
0
}
Unexecuted instantiation: fuzz_hpack_decode.c:ist_find_ctl
Unexecuted instantiation: fuzz_cfg_parser.c:ist_find_ctl
Unexecuted instantiation: cfgparse.c:ist_find_ctl
Unexecuted instantiation: chunk.c:ist_find_ctl
Unexecuted instantiation: cli.c:ist_find_ctl
Unexecuted instantiation: clock.c:ist_find_ctl
Unexecuted instantiation: connection.c:ist_find_ctl
Unexecuted instantiation: debug.c:ist_find_ctl
Unexecuted instantiation: dynbuf.c:ist_find_ctl
Unexecuted instantiation: errors.c:ist_find_ctl
Unexecuted instantiation: fd.c:ist_find_ctl
Unexecuted instantiation: filters.c:ist_find_ctl
Unexecuted instantiation: flt_http_comp.c:ist_find_ctl
Unexecuted instantiation: freq_ctr.c:ist_find_ctl
Unexecuted instantiation: frontend.c:ist_find_ctl
Unexecuted instantiation: haproxy.c:ist_find_ctl
Unexecuted instantiation: http.c:ist_find_ctl
Unexecuted instantiation: http_ana.c:ist_find_ctl
Unexecuted instantiation: http_ext.c:ist_find_ctl
Unexecuted instantiation: http_htx.c:ist_find_ctl
Unexecuted instantiation: http_rules.c:ist_find_ctl
Unexecuted instantiation: htx.c:ist_find_ctl
Unexecuted instantiation: lb_chash.c:ist_find_ctl
Unexecuted instantiation: lb_fas.c:ist_find_ctl
Unexecuted instantiation: lb_fwlc.c:ist_find_ctl
Unexecuted instantiation: lb_fwrr.c:ist_find_ctl
Unexecuted instantiation: lb_map.c:ist_find_ctl
Unexecuted instantiation: lb_ss.c:ist_find_ctl
Unexecuted instantiation: limits.c:ist_find_ctl
Unexecuted instantiation: listener.c:ist_find_ctl
Unexecuted instantiation: log.c:ist_find_ctl
Unexecuted instantiation: mailers.c:ist_find_ctl
Unexecuted instantiation: mworker.c:ist_find_ctl
Unexecuted instantiation: peers.c:ist_find_ctl
Unexecuted instantiation: pool.c:ist_find_ctl
Unexecuted instantiation: proto_rhttp.c:ist_find_ctl
Unexecuted instantiation: proto_sockpair.c:ist_find_ctl
Unexecuted instantiation: protocol.c:ist_find_ctl
Unexecuted instantiation: proxy.c:ist_find_ctl
Unexecuted instantiation: queue.c:ist_find_ctl
Unexecuted instantiation: regex.c:ist_find_ctl
Unexecuted instantiation: resolvers.c:ist_find_ctl
Unexecuted instantiation: ring.c:ist_find_ctl
Unexecuted instantiation: sample.c:ist_find_ctl
Unexecuted instantiation: server.c:ist_find_ctl
Unexecuted instantiation: session.c:ist_find_ctl
Unexecuted instantiation: signal.c:ist_find_ctl
Unexecuted instantiation: sink.c:ist_find_ctl
Unexecuted instantiation: sock.c:ist_find_ctl
Unexecuted instantiation: sock_inet.c:ist_find_ctl
Unexecuted instantiation: stats-html.c:ist_find_ctl
Unexecuted instantiation: stats.c:ist_find_ctl
Unexecuted instantiation: stconn.c:ist_find_ctl
Unexecuted instantiation: stick_table.c:ist_find_ctl
Unexecuted instantiation: stream.c:ist_find_ctl
Unexecuted instantiation: systemd.c:ist_find_ctl
Unexecuted instantiation: task.c:ist_find_ctl
Unexecuted instantiation: tcp_rules.c:ist_find_ctl
Unexecuted instantiation: tcpcheck.c:ist_find_ctl
Unexecuted instantiation: thread.c:ist_find_ctl
Unexecuted instantiation: tools.c:ist_find_ctl
Unexecuted instantiation: trace.c:ist_find_ctl
Unexecuted instantiation: uri_auth.c:ist_find_ctl
Unexecuted instantiation: vars.c:ist_find_ctl
Unexecuted instantiation: acl.c:ist_find_ctl
Unexecuted instantiation: action.c:ist_find_ctl
Unexecuted instantiation: activity.c:ist_find_ctl
Unexecuted instantiation: applet.c:ist_find_ctl
Unexecuted instantiation: arg.c:ist_find_ctl
Unexecuted instantiation: auth.c:ist_find_ctl
Unexecuted instantiation: backend.c:ist_find_ctl
Unexecuted instantiation: cache.c:ist_find_ctl
Unexecuted instantiation: cfgcond.c:ist_find_ctl
Unexecuted instantiation: cfgparse-global.c:ist_find_ctl
Unexecuted instantiation: cfgparse-listen.c:ist_find_ctl
Unexecuted instantiation: channel.c:ist_find_ctl
Unexecuted instantiation: check.c:ist_find_ctl
Unexecuted instantiation: compression.c:ist_find_ctl
Unexecuted instantiation: counters.c:ist_find_ctl
Unexecuted instantiation: dgram.c:ist_find_ctl
Unexecuted instantiation: dns.c:ist_find_ctl
Unexecuted instantiation: dns_ring.c:ist_find_ctl
Unexecuted instantiation: event_hdl.c:ist_find_ctl
Unexecuted instantiation: extcheck.c:ist_find_ctl
Unexecuted instantiation: fcgi-app.c:ist_find_ctl
Unexecuted instantiation: fix.c:ist_find_ctl
Unexecuted instantiation: guid.c:ist_find_ctl
Unexecuted instantiation: h1.c:ist_find_ctl
Unexecuted instantiation: http_fetch.c:ist_find_ctl
Unexecuted instantiation: mqtt.c:ist_find_ctl
Unexecuted instantiation: mux_spop.c:ist_find_ctl
Unexecuted instantiation: pattern.c:ist_find_ctl
Unexecuted instantiation: payload.c:ist_find_ctl
Unexecuted instantiation: proto_tcp.c:ist_find_ctl
Unexecuted instantiation: shctx.c:ist_find_ctl
Unexecuted instantiation: stats-file.c:ist_find_ctl
Unexecuted instantiation: stats-json.c:ist_find_ctl
Unexecuted instantiation: stats-proxy.c:ist_find_ctl
Unexecuted instantiation: flt_spoe.c:ist_find_ctl
Unexecuted instantiation: h1_htx.c:ist_find_ctl
768
769
/* Returns a pointer to the first character found <ist> that belongs to the
770
 * range [min:max] inclusive, or NULL if none is present. The function is
771
 * optimized for strings having no such chars by processing up to sizeof(long)
772
 * bytes at once on architectures supporting efficient unaligned accesses.
773
 * Despite this it is not very fast (~0.43 byte/cycle) and should mostly be
774
 * used on low match probability when it can save a call to a much slower
775
 * function. Will not work for characters 0x80 and above. It's optimized for
776
 * min and max to be known at build time.
777
 */
778
static inline const char *ist_find_range(const struct ist ist, unsigned char min, unsigned char max)
779
0
{
780
0
  const union { unsigned long v; } __attribute__((packed)) *u;
781
0
  const char *curr = (void *)ist.ptr - sizeof(long);
782
0
  const char *last = curr + ist.len;
783
0
  unsigned long l1, l2;
784
0
785
0
  /* easier with an exclusive boundary */
786
0
  max++;
787
0
788
0
  do {
789
0
    curr += sizeof(long);
790
0
    if (curr > last)
791
0
      break;
792
0
    u = (void *)curr;
793
0
    /* add 0x<min><min><min><min>..<min> then subtract
794
0
     * 0x<max><max><max><max>..<max> to the value to generate a
795
0
     * carry in the lower byte if the byte contains a lower value.
796
0
     * If we generate a bit 7 that was not there, it means the byte
797
0
     * was min..max.
798
0
     */
799
0
    l2  = u->v;
800
0
    l1  = ~l2 & ((~0UL / 255) * 0x80); /* 0x808080...80 */
801
0
    l2 += (~0UL / 255) * min;          /* 0x<min><min>..<min> */
802
0
    l2 -= (~0UL / 255) * max;          /* 0x<max><max>..<max> */
803
0
  } while ((l1 & l2) == 0);
804
0
805
0
  last += sizeof(long);
806
0
  if (__builtin_expect(curr < last, 0)) {
807
0
    do {
808
0
      if ((unsigned char)(*curr - min) < (unsigned char)(max - min))
809
0
        return curr;
810
0
      curr++;
811
0
    } while (curr < last);
812
0
  }
813
0
  return NULL;
814
0
}
Unexecuted instantiation: fuzz_hpack_decode.c:ist_find_range
Unexecuted instantiation: fuzz_cfg_parser.c:ist_find_range
Unexecuted instantiation: cfgparse.c:ist_find_range
Unexecuted instantiation: chunk.c:ist_find_range
Unexecuted instantiation: cli.c:ist_find_range
Unexecuted instantiation: clock.c:ist_find_range
Unexecuted instantiation: connection.c:ist_find_range
Unexecuted instantiation: debug.c:ist_find_range
Unexecuted instantiation: dynbuf.c:ist_find_range
Unexecuted instantiation: errors.c:ist_find_range
Unexecuted instantiation: fd.c:ist_find_range
Unexecuted instantiation: filters.c:ist_find_range
Unexecuted instantiation: flt_http_comp.c:ist_find_range
Unexecuted instantiation: freq_ctr.c:ist_find_range
Unexecuted instantiation: frontend.c:ist_find_range
Unexecuted instantiation: haproxy.c:ist_find_range
Unexecuted instantiation: http.c:ist_find_range
Unexecuted instantiation: http_ana.c:ist_find_range
Unexecuted instantiation: http_ext.c:ist_find_range
Unexecuted instantiation: http_htx.c:ist_find_range
Unexecuted instantiation: http_rules.c:ist_find_range
Unexecuted instantiation: htx.c:ist_find_range
Unexecuted instantiation: lb_chash.c:ist_find_range
Unexecuted instantiation: lb_fas.c:ist_find_range
Unexecuted instantiation: lb_fwlc.c:ist_find_range
Unexecuted instantiation: lb_fwrr.c:ist_find_range
Unexecuted instantiation: lb_map.c:ist_find_range
Unexecuted instantiation: lb_ss.c:ist_find_range
Unexecuted instantiation: limits.c:ist_find_range
Unexecuted instantiation: listener.c:ist_find_range
Unexecuted instantiation: log.c:ist_find_range
Unexecuted instantiation: mailers.c:ist_find_range
Unexecuted instantiation: mworker.c:ist_find_range
Unexecuted instantiation: peers.c:ist_find_range
Unexecuted instantiation: pool.c:ist_find_range
Unexecuted instantiation: proto_rhttp.c:ist_find_range
Unexecuted instantiation: proto_sockpair.c:ist_find_range
Unexecuted instantiation: protocol.c:ist_find_range
Unexecuted instantiation: proxy.c:ist_find_range
Unexecuted instantiation: queue.c:ist_find_range
Unexecuted instantiation: regex.c:ist_find_range
Unexecuted instantiation: resolvers.c:ist_find_range
Unexecuted instantiation: ring.c:ist_find_range
Unexecuted instantiation: sample.c:ist_find_range
Unexecuted instantiation: server.c:ist_find_range
Unexecuted instantiation: session.c:ist_find_range
Unexecuted instantiation: signal.c:ist_find_range
Unexecuted instantiation: sink.c:ist_find_range
Unexecuted instantiation: sock.c:ist_find_range
Unexecuted instantiation: sock_inet.c:ist_find_range
Unexecuted instantiation: stats-html.c:ist_find_range
Unexecuted instantiation: stats.c:ist_find_range
Unexecuted instantiation: stconn.c:ist_find_range
Unexecuted instantiation: stick_table.c:ist_find_range
Unexecuted instantiation: stream.c:ist_find_range
Unexecuted instantiation: systemd.c:ist_find_range
Unexecuted instantiation: task.c:ist_find_range
Unexecuted instantiation: tcp_rules.c:ist_find_range
Unexecuted instantiation: tcpcheck.c:ist_find_range
Unexecuted instantiation: thread.c:ist_find_range
Unexecuted instantiation: tools.c:ist_find_range
Unexecuted instantiation: trace.c:ist_find_range
Unexecuted instantiation: uri_auth.c:ist_find_range
Unexecuted instantiation: vars.c:ist_find_range
Unexecuted instantiation: acl.c:ist_find_range
Unexecuted instantiation: action.c:ist_find_range
Unexecuted instantiation: activity.c:ist_find_range
Unexecuted instantiation: applet.c:ist_find_range
Unexecuted instantiation: arg.c:ist_find_range
Unexecuted instantiation: auth.c:ist_find_range
Unexecuted instantiation: backend.c:ist_find_range
Unexecuted instantiation: cache.c:ist_find_range
Unexecuted instantiation: cfgcond.c:ist_find_range
Unexecuted instantiation: cfgparse-global.c:ist_find_range
Unexecuted instantiation: cfgparse-listen.c:ist_find_range
Unexecuted instantiation: channel.c:ist_find_range
Unexecuted instantiation: check.c:ist_find_range
Unexecuted instantiation: compression.c:ist_find_range
Unexecuted instantiation: counters.c:ist_find_range
Unexecuted instantiation: dgram.c:ist_find_range
Unexecuted instantiation: dns.c:ist_find_range
Unexecuted instantiation: dns_ring.c:ist_find_range
Unexecuted instantiation: event_hdl.c:ist_find_range
Unexecuted instantiation: extcheck.c:ist_find_range
Unexecuted instantiation: fcgi-app.c:ist_find_range
Unexecuted instantiation: fix.c:ist_find_range
Unexecuted instantiation: guid.c:ist_find_range
Unexecuted instantiation: h1.c:ist_find_range
Unexecuted instantiation: http_fetch.c:ist_find_range
Unexecuted instantiation: mqtt.c:ist_find_range
Unexecuted instantiation: mux_spop.c:ist_find_range
Unexecuted instantiation: pattern.c:ist_find_range
Unexecuted instantiation: payload.c:ist_find_range
Unexecuted instantiation: proto_tcp.c:ist_find_range
Unexecuted instantiation: shctx.c:ist_find_range
Unexecuted instantiation: stats-file.c:ist_find_range
Unexecuted instantiation: stats-json.c:ist_find_range
Unexecuted instantiation: stats-proxy.c:ist_find_range
Unexecuted instantiation: flt_spoe.c:ist_find_range
Unexecuted instantiation: h1_htx.c:ist_find_range
815
816
/* looks for first occurrence of character <chr> in string <ist> and returns
817
 * the tail of the string starting with this character, or (ist.end,0) if not
818
 * found.
819
 */
820
static inline struct ist istfind(const struct ist ist, char chr)
821
68.8k
{
822
68.8k
  struct ist ret = ist;
823
824
797k
  while (ret.len--) {
825
797k
    if (*ret.ptr++ == chr)
826
68.8k
      return ist2(ret.ptr - 1, ret.len + 1);
827
797k
  }
828
0
  return ist2(ret.ptr, 0);
829
68.8k
}
Unexecuted instantiation: fuzz_hpack_decode.c:istfind
Unexecuted instantiation: fuzz_cfg_parser.c:istfind
Unexecuted instantiation: cfgparse.c:istfind
Unexecuted instantiation: chunk.c:istfind
Unexecuted instantiation: cli.c:istfind
Unexecuted instantiation: clock.c:istfind
Unexecuted instantiation: connection.c:istfind
Unexecuted instantiation: debug.c:istfind
Unexecuted instantiation: dynbuf.c:istfind
Unexecuted instantiation: errors.c:istfind
Unexecuted instantiation: fd.c:istfind
Unexecuted instantiation: filters.c:istfind
Unexecuted instantiation: flt_http_comp.c:istfind
Unexecuted instantiation: freq_ctr.c:istfind
Unexecuted instantiation: frontend.c:istfind
Unexecuted instantiation: haproxy.c:istfind
Unexecuted instantiation: http.c:istfind
Unexecuted instantiation: http_ana.c:istfind
Unexecuted instantiation: http_ext.c:istfind
Unexecuted instantiation: http_htx.c:istfind
Unexecuted instantiation: http_rules.c:istfind
Unexecuted instantiation: htx.c:istfind
Unexecuted instantiation: lb_chash.c:istfind
Unexecuted instantiation: lb_fas.c:istfind
Unexecuted instantiation: lb_fwlc.c:istfind
Unexecuted instantiation: lb_fwrr.c:istfind
Unexecuted instantiation: lb_map.c:istfind
Unexecuted instantiation: lb_ss.c:istfind
Unexecuted instantiation: limits.c:istfind
Unexecuted instantiation: listener.c:istfind
Unexecuted instantiation: log.c:istfind
Unexecuted instantiation: mailers.c:istfind
Unexecuted instantiation: mworker.c:istfind
Unexecuted instantiation: peers.c:istfind
Unexecuted instantiation: pool.c:istfind
Unexecuted instantiation: proto_rhttp.c:istfind
Unexecuted instantiation: proto_sockpair.c:istfind
Unexecuted instantiation: protocol.c:istfind
Unexecuted instantiation: proxy.c:istfind
Unexecuted instantiation: queue.c:istfind
Unexecuted instantiation: regex.c:istfind
Unexecuted instantiation: resolvers.c:istfind
Unexecuted instantiation: ring.c:istfind
Unexecuted instantiation: sample.c:istfind
Unexecuted instantiation: server.c:istfind
Unexecuted instantiation: session.c:istfind
Unexecuted instantiation: signal.c:istfind
Unexecuted instantiation: sink.c:istfind
Unexecuted instantiation: sock.c:istfind
Unexecuted instantiation: sock_inet.c:istfind
Unexecuted instantiation: stats-html.c:istfind
Unexecuted instantiation: stats.c:istfind
Unexecuted instantiation: stconn.c:istfind
Unexecuted instantiation: stick_table.c:istfind
Unexecuted instantiation: stream.c:istfind
Unexecuted instantiation: systemd.c:istfind
Unexecuted instantiation: task.c:istfind
Unexecuted instantiation: tcp_rules.c:istfind
Unexecuted instantiation: tcpcheck.c:istfind
Unexecuted instantiation: thread.c:istfind
tools.c:istfind
Line
Count
Source
821
68.8k
{
822
68.8k
  struct ist ret = ist;
823
824
797k
  while (ret.len--) {
825
797k
    if (*ret.ptr++ == chr)
826
68.8k
      return ist2(ret.ptr - 1, ret.len + 1);
827
797k
  }
828
0
  return ist2(ret.ptr, 0);
829
68.8k
}
Unexecuted instantiation: trace.c:istfind
Unexecuted instantiation: uri_auth.c:istfind
Unexecuted instantiation: vars.c:istfind
Unexecuted instantiation: acl.c:istfind
Unexecuted instantiation: action.c:istfind
Unexecuted instantiation: activity.c:istfind
Unexecuted instantiation: applet.c:istfind
Unexecuted instantiation: arg.c:istfind
Unexecuted instantiation: auth.c:istfind
Unexecuted instantiation: backend.c:istfind
Unexecuted instantiation: cache.c:istfind
Unexecuted instantiation: cfgcond.c:istfind
Unexecuted instantiation: cfgparse-global.c:istfind
Unexecuted instantiation: cfgparse-listen.c:istfind
Unexecuted instantiation: channel.c:istfind
Unexecuted instantiation: check.c:istfind
Unexecuted instantiation: compression.c:istfind
Unexecuted instantiation: counters.c:istfind
Unexecuted instantiation: dgram.c:istfind
Unexecuted instantiation: dns.c:istfind
Unexecuted instantiation: dns_ring.c:istfind
Unexecuted instantiation: event_hdl.c:istfind
Unexecuted instantiation: extcheck.c:istfind
Unexecuted instantiation: fcgi-app.c:istfind
Unexecuted instantiation: fix.c:istfind
Unexecuted instantiation: guid.c:istfind
Unexecuted instantiation: h1.c:istfind
Unexecuted instantiation: http_fetch.c:istfind
Unexecuted instantiation: mqtt.c:istfind
Unexecuted instantiation: mux_spop.c:istfind
Unexecuted instantiation: pattern.c:istfind
Unexecuted instantiation: payload.c:istfind
Unexecuted instantiation: proto_tcp.c:istfind
Unexecuted instantiation: shctx.c:istfind
Unexecuted instantiation: stats-file.c:istfind
Unexecuted instantiation: stats-json.c:istfind
Unexecuted instantiation: stats-proxy.c:istfind
Unexecuted instantiation: flt_spoe.c:istfind
Unexecuted instantiation: h1_htx.c:istfind
830
831
/* looks for first occurrence of character different from <chr> in string <ist>
832
 * and returns the tail of the string starting at this character, or (ist_end,0)
833
 * if not found.
834
 */
835
static inline struct ist istskip(const struct ist ist, char chr)
836
0
{
837
0
  struct ist ret = ist;
838
839
0
  while (ret.len--) {
840
0
    if (*ret.ptr++ != chr)
841
0
      return ist2(ret.ptr - 1, ret.len + 1);
842
0
  }
843
0
  return ist2(ret.ptr, 0);
844
0
}
Unexecuted instantiation: fuzz_hpack_decode.c:istskip
Unexecuted instantiation: fuzz_cfg_parser.c:istskip
Unexecuted instantiation: cfgparse.c:istskip
Unexecuted instantiation: chunk.c:istskip
Unexecuted instantiation: cli.c:istskip
Unexecuted instantiation: clock.c:istskip
Unexecuted instantiation: connection.c:istskip
Unexecuted instantiation: debug.c:istskip
Unexecuted instantiation: dynbuf.c:istskip
Unexecuted instantiation: errors.c:istskip
Unexecuted instantiation: fd.c:istskip
Unexecuted instantiation: filters.c:istskip
Unexecuted instantiation: flt_http_comp.c:istskip
Unexecuted instantiation: freq_ctr.c:istskip
Unexecuted instantiation: frontend.c:istskip
Unexecuted instantiation: haproxy.c:istskip
Unexecuted instantiation: http.c:istskip
Unexecuted instantiation: http_ana.c:istskip
Unexecuted instantiation: http_ext.c:istskip
Unexecuted instantiation: http_htx.c:istskip
Unexecuted instantiation: http_rules.c:istskip
Unexecuted instantiation: htx.c:istskip
Unexecuted instantiation: lb_chash.c:istskip
Unexecuted instantiation: lb_fas.c:istskip
Unexecuted instantiation: lb_fwlc.c:istskip
Unexecuted instantiation: lb_fwrr.c:istskip
Unexecuted instantiation: lb_map.c:istskip
Unexecuted instantiation: lb_ss.c:istskip
Unexecuted instantiation: limits.c:istskip
Unexecuted instantiation: listener.c:istskip
Unexecuted instantiation: log.c:istskip
Unexecuted instantiation: mailers.c:istskip
Unexecuted instantiation: mworker.c:istskip
Unexecuted instantiation: peers.c:istskip
Unexecuted instantiation: pool.c:istskip
Unexecuted instantiation: proto_rhttp.c:istskip
Unexecuted instantiation: proto_sockpair.c:istskip
Unexecuted instantiation: protocol.c:istskip
Unexecuted instantiation: proxy.c:istskip
Unexecuted instantiation: queue.c:istskip
Unexecuted instantiation: regex.c:istskip
Unexecuted instantiation: resolvers.c:istskip
Unexecuted instantiation: ring.c:istskip
Unexecuted instantiation: sample.c:istskip
Unexecuted instantiation: server.c:istskip
Unexecuted instantiation: session.c:istskip
Unexecuted instantiation: signal.c:istskip
Unexecuted instantiation: sink.c:istskip
Unexecuted instantiation: sock.c:istskip
Unexecuted instantiation: sock_inet.c:istskip
Unexecuted instantiation: stats-html.c:istskip
Unexecuted instantiation: stats.c:istskip
Unexecuted instantiation: stconn.c:istskip
Unexecuted instantiation: stick_table.c:istskip
Unexecuted instantiation: stream.c:istskip
Unexecuted instantiation: systemd.c:istskip
Unexecuted instantiation: task.c:istskip
Unexecuted instantiation: tcp_rules.c:istskip
Unexecuted instantiation: tcpcheck.c:istskip
Unexecuted instantiation: thread.c:istskip
Unexecuted instantiation: tools.c:istskip
Unexecuted instantiation: trace.c:istskip
Unexecuted instantiation: uri_auth.c:istskip
Unexecuted instantiation: vars.c:istskip
Unexecuted instantiation: acl.c:istskip
Unexecuted instantiation: action.c:istskip
Unexecuted instantiation: activity.c:istskip
Unexecuted instantiation: applet.c:istskip
Unexecuted instantiation: arg.c:istskip
Unexecuted instantiation: auth.c:istskip
Unexecuted instantiation: backend.c:istskip
Unexecuted instantiation: cache.c:istskip
Unexecuted instantiation: cfgcond.c:istskip
Unexecuted instantiation: cfgparse-global.c:istskip
Unexecuted instantiation: cfgparse-listen.c:istskip
Unexecuted instantiation: channel.c:istskip
Unexecuted instantiation: check.c:istskip
Unexecuted instantiation: compression.c:istskip
Unexecuted instantiation: counters.c:istskip
Unexecuted instantiation: dgram.c:istskip
Unexecuted instantiation: dns.c:istskip
Unexecuted instantiation: dns_ring.c:istskip
Unexecuted instantiation: event_hdl.c:istskip
Unexecuted instantiation: extcheck.c:istskip
Unexecuted instantiation: fcgi-app.c:istskip
Unexecuted instantiation: fix.c:istskip
Unexecuted instantiation: guid.c:istskip
Unexecuted instantiation: h1.c:istskip
Unexecuted instantiation: http_fetch.c:istskip
Unexecuted instantiation: mqtt.c:istskip
Unexecuted instantiation: mux_spop.c:istskip
Unexecuted instantiation: pattern.c:istskip
Unexecuted instantiation: payload.c:istskip
Unexecuted instantiation: proto_tcp.c:istskip
Unexecuted instantiation: shctx.c:istskip
Unexecuted instantiation: stats-file.c:istskip
Unexecuted instantiation: stats-json.c:istskip
Unexecuted instantiation: stats-proxy.c:istskip
Unexecuted instantiation: flt_spoe.c:istskip
Unexecuted instantiation: h1_htx.c:istskip
845
846
/* looks for first occurrence of string <pat> in string <ist> and returns the
847
 * tail of the string starting at this position, or (NULL,0) if not found. The
848
 * empty pattern is found everywhere.
849
 */
850
static inline struct ist istist(const struct ist ist, const struct ist pat)
851
0
{
852
0
  struct ist ret = ist;
853
0
  size_t pos;
854
855
0
  if (!pat.len)
856
0
    return ret;
857
858
0
  while (1) {
859
0
  loop:
860
0
    ret = istfind(ret, *pat.ptr);
861
0
    if (ret.len < pat.len)
862
0
      break;
863
864
    /* ret.len >= 1, pat.len >= 1 and *ret.ptr == *pat.ptr */
865
866
0
    ret = istnext(ret);
867
0
    for (pos = 0; pos < pat.len - 1; ) {
868
0
      ++pos;
869
0
      if (ret.ptr[pos - 1] != pat.ptr[pos])
870
0
        goto loop;
871
0
    }
872
0
    return ist2(ret.ptr - 1, ret.len + 1);
873
0
  }
874
0
  return IST_NULL;
875
0
}
Unexecuted instantiation: fuzz_hpack_decode.c:istist
Unexecuted instantiation: fuzz_cfg_parser.c:istist
Unexecuted instantiation: cfgparse.c:istist
Unexecuted instantiation: chunk.c:istist
Unexecuted instantiation: cli.c:istist
Unexecuted instantiation: clock.c:istist
Unexecuted instantiation: connection.c:istist
Unexecuted instantiation: debug.c:istist
Unexecuted instantiation: dynbuf.c:istist
Unexecuted instantiation: errors.c:istist
Unexecuted instantiation: fd.c:istist
Unexecuted instantiation: filters.c:istist
Unexecuted instantiation: flt_http_comp.c:istist
Unexecuted instantiation: freq_ctr.c:istist
Unexecuted instantiation: frontend.c:istist
Unexecuted instantiation: haproxy.c:istist
Unexecuted instantiation: http.c:istist
Unexecuted instantiation: http_ana.c:istist
Unexecuted instantiation: http_ext.c:istist
Unexecuted instantiation: http_htx.c:istist
Unexecuted instantiation: http_rules.c:istist
Unexecuted instantiation: htx.c:istist
Unexecuted instantiation: lb_chash.c:istist
Unexecuted instantiation: lb_fas.c:istist
Unexecuted instantiation: lb_fwlc.c:istist
Unexecuted instantiation: lb_fwrr.c:istist
Unexecuted instantiation: lb_map.c:istist
Unexecuted instantiation: lb_ss.c:istist
Unexecuted instantiation: limits.c:istist
Unexecuted instantiation: listener.c:istist
Unexecuted instantiation: log.c:istist
Unexecuted instantiation: mailers.c:istist
Unexecuted instantiation: mworker.c:istist
Unexecuted instantiation: peers.c:istist
Unexecuted instantiation: pool.c:istist
Unexecuted instantiation: proto_rhttp.c:istist
Unexecuted instantiation: proto_sockpair.c:istist
Unexecuted instantiation: protocol.c:istist
Unexecuted instantiation: proxy.c:istist
Unexecuted instantiation: queue.c:istist
Unexecuted instantiation: regex.c:istist
Unexecuted instantiation: resolvers.c:istist
Unexecuted instantiation: ring.c:istist
Unexecuted instantiation: sample.c:istist
Unexecuted instantiation: server.c:istist
Unexecuted instantiation: session.c:istist
Unexecuted instantiation: signal.c:istist
Unexecuted instantiation: sink.c:istist
Unexecuted instantiation: sock.c:istist
Unexecuted instantiation: sock_inet.c:istist
Unexecuted instantiation: stats-html.c:istist
Unexecuted instantiation: stats.c:istist
Unexecuted instantiation: stconn.c:istist
Unexecuted instantiation: stick_table.c:istist
Unexecuted instantiation: stream.c:istist
Unexecuted instantiation: systemd.c:istist
Unexecuted instantiation: task.c:istist
Unexecuted instantiation: tcp_rules.c:istist
Unexecuted instantiation: tcpcheck.c:istist
Unexecuted instantiation: thread.c:istist
Unexecuted instantiation: tools.c:istist
Unexecuted instantiation: trace.c:istist
Unexecuted instantiation: uri_auth.c:istist
Unexecuted instantiation: vars.c:istist
Unexecuted instantiation: acl.c:istist
Unexecuted instantiation: action.c:istist
Unexecuted instantiation: activity.c:istist
Unexecuted instantiation: applet.c:istist
Unexecuted instantiation: arg.c:istist
Unexecuted instantiation: auth.c:istist
Unexecuted instantiation: backend.c:istist
Unexecuted instantiation: cache.c:istist
Unexecuted instantiation: cfgcond.c:istist
Unexecuted instantiation: cfgparse-global.c:istist
Unexecuted instantiation: cfgparse-listen.c:istist
Unexecuted instantiation: channel.c:istist
Unexecuted instantiation: check.c:istist
Unexecuted instantiation: compression.c:istist
Unexecuted instantiation: counters.c:istist
Unexecuted instantiation: dgram.c:istist
Unexecuted instantiation: dns.c:istist
Unexecuted instantiation: dns_ring.c:istist
Unexecuted instantiation: event_hdl.c:istist
Unexecuted instantiation: extcheck.c:istist
Unexecuted instantiation: fcgi-app.c:istist
Unexecuted instantiation: fix.c:istist
Unexecuted instantiation: guid.c:istist
Unexecuted instantiation: h1.c:istist
Unexecuted instantiation: http_fetch.c:istist
Unexecuted instantiation: mqtt.c:istist
Unexecuted instantiation: mux_spop.c:istist
Unexecuted instantiation: pattern.c:istist
Unexecuted instantiation: payload.c:istist
Unexecuted instantiation: proto_tcp.c:istist
Unexecuted instantiation: shctx.c:istist
Unexecuted instantiation: stats-file.c:istist
Unexecuted instantiation: stats-json.c:istist
Unexecuted instantiation: stats-proxy.c:istist
Unexecuted instantiation: flt_spoe.c:istist
Unexecuted instantiation: h1_htx.c:istist
876
877
/*
878
 * looks for the first occurrence of <chr> in string <ist> and returns a shorter
879
 * ist if char is found.
880
 */
881
static inline struct ist iststop(const struct ist ist, char chr)
882
0
{
883
0
  size_t len = 0;
884
885
0
  while (len++ < ist.len && ist.ptr[len - 1] != chr)
886
0
    ;
887
0
  return ist2(ist.ptr, len - 1);
888
0
}
Unexecuted instantiation: fuzz_hpack_decode.c:iststop
Unexecuted instantiation: fuzz_cfg_parser.c:iststop
Unexecuted instantiation: cfgparse.c:iststop
Unexecuted instantiation: chunk.c:iststop
Unexecuted instantiation: cli.c:iststop
Unexecuted instantiation: clock.c:iststop
Unexecuted instantiation: connection.c:iststop
Unexecuted instantiation: debug.c:iststop
Unexecuted instantiation: dynbuf.c:iststop
Unexecuted instantiation: errors.c:iststop
Unexecuted instantiation: fd.c:iststop
Unexecuted instantiation: filters.c:iststop
Unexecuted instantiation: flt_http_comp.c:iststop
Unexecuted instantiation: freq_ctr.c:iststop
Unexecuted instantiation: frontend.c:iststop
Unexecuted instantiation: haproxy.c:iststop
Unexecuted instantiation: http.c:iststop
Unexecuted instantiation: http_ana.c:iststop
Unexecuted instantiation: http_ext.c:iststop
Unexecuted instantiation: http_htx.c:iststop
Unexecuted instantiation: http_rules.c:iststop
Unexecuted instantiation: htx.c:iststop
Unexecuted instantiation: lb_chash.c:iststop
Unexecuted instantiation: lb_fas.c:iststop
Unexecuted instantiation: lb_fwlc.c:iststop
Unexecuted instantiation: lb_fwrr.c:iststop
Unexecuted instantiation: lb_map.c:iststop
Unexecuted instantiation: lb_ss.c:iststop
Unexecuted instantiation: limits.c:iststop
Unexecuted instantiation: listener.c:iststop
Unexecuted instantiation: log.c:iststop
Unexecuted instantiation: mailers.c:iststop
Unexecuted instantiation: mworker.c:iststop
Unexecuted instantiation: peers.c:iststop
Unexecuted instantiation: pool.c:iststop
Unexecuted instantiation: proto_rhttp.c:iststop
Unexecuted instantiation: proto_sockpair.c:iststop
Unexecuted instantiation: protocol.c:iststop
Unexecuted instantiation: proxy.c:iststop
Unexecuted instantiation: queue.c:iststop
Unexecuted instantiation: regex.c:iststop
Unexecuted instantiation: resolvers.c:iststop
Unexecuted instantiation: ring.c:iststop
Unexecuted instantiation: sample.c:iststop
Unexecuted instantiation: server.c:iststop
Unexecuted instantiation: session.c:iststop
Unexecuted instantiation: signal.c:iststop
Unexecuted instantiation: sink.c:iststop
Unexecuted instantiation: sock.c:iststop
Unexecuted instantiation: sock_inet.c:iststop
Unexecuted instantiation: stats-html.c:iststop
Unexecuted instantiation: stats.c:iststop
Unexecuted instantiation: stconn.c:iststop
Unexecuted instantiation: stick_table.c:iststop
Unexecuted instantiation: stream.c:iststop
Unexecuted instantiation: systemd.c:iststop
Unexecuted instantiation: task.c:iststop
Unexecuted instantiation: tcp_rules.c:iststop
Unexecuted instantiation: tcpcheck.c:iststop
Unexecuted instantiation: thread.c:iststop
Unexecuted instantiation: tools.c:iststop
Unexecuted instantiation: trace.c:iststop
Unexecuted instantiation: uri_auth.c:iststop
Unexecuted instantiation: vars.c:iststop
Unexecuted instantiation: acl.c:iststop
Unexecuted instantiation: action.c:iststop
Unexecuted instantiation: activity.c:iststop
Unexecuted instantiation: applet.c:iststop
Unexecuted instantiation: arg.c:iststop
Unexecuted instantiation: auth.c:iststop
Unexecuted instantiation: backend.c:iststop
Unexecuted instantiation: cache.c:iststop
Unexecuted instantiation: cfgcond.c:iststop
Unexecuted instantiation: cfgparse-global.c:iststop
Unexecuted instantiation: cfgparse-listen.c:iststop
Unexecuted instantiation: channel.c:iststop
Unexecuted instantiation: check.c:iststop
Unexecuted instantiation: compression.c:iststop
Unexecuted instantiation: counters.c:iststop
Unexecuted instantiation: dgram.c:iststop
Unexecuted instantiation: dns.c:iststop
Unexecuted instantiation: dns_ring.c:iststop
Unexecuted instantiation: event_hdl.c:iststop
Unexecuted instantiation: extcheck.c:iststop
Unexecuted instantiation: fcgi-app.c:iststop
Unexecuted instantiation: fix.c:iststop
Unexecuted instantiation: guid.c:iststop
Unexecuted instantiation: h1.c:iststop
Unexecuted instantiation: http_fetch.c:iststop
Unexecuted instantiation: mqtt.c:iststop
Unexecuted instantiation: mux_spop.c:iststop
Unexecuted instantiation: pattern.c:iststop
Unexecuted instantiation: payload.c:iststop
Unexecuted instantiation: proto_tcp.c:iststop
Unexecuted instantiation: shctx.c:iststop
Unexecuted instantiation: stats-file.c:iststop
Unexecuted instantiation: stats-json.c:iststop
Unexecuted instantiation: stats-proxy.c:iststop
Unexecuted instantiation: flt_spoe.c:iststop
Unexecuted instantiation: h1_htx.c:iststop
889
890
/*
891
 * advance <.ptr> by <nb> characters.
892
 * If <ist> is too short, (ist.end,0) is returned.
893
 */
894
static inline struct ist istadv(const struct ist ist, const size_t nb)
895
0
{
896
0
  if (ist.len < nb)
897
0
    return ist2(ist.ptr + ist.len, 0);
898
0
  return ist2(ist.ptr + nb, ist.len - nb);
899
0
}
Unexecuted instantiation: fuzz_hpack_decode.c:istadv
Unexecuted instantiation: fuzz_cfg_parser.c:istadv
Unexecuted instantiation: cfgparse.c:istadv
Unexecuted instantiation: chunk.c:istadv
Unexecuted instantiation: cli.c:istadv
Unexecuted instantiation: clock.c:istadv
Unexecuted instantiation: connection.c:istadv
Unexecuted instantiation: debug.c:istadv
Unexecuted instantiation: dynbuf.c:istadv
Unexecuted instantiation: errors.c:istadv
Unexecuted instantiation: fd.c:istadv
Unexecuted instantiation: filters.c:istadv
Unexecuted instantiation: flt_http_comp.c:istadv
Unexecuted instantiation: freq_ctr.c:istadv
Unexecuted instantiation: frontend.c:istadv
Unexecuted instantiation: haproxy.c:istadv
Unexecuted instantiation: http.c:istadv
Unexecuted instantiation: http_ana.c:istadv
Unexecuted instantiation: http_ext.c:istadv
Unexecuted instantiation: http_htx.c:istadv
Unexecuted instantiation: http_rules.c:istadv
Unexecuted instantiation: htx.c:istadv
Unexecuted instantiation: lb_chash.c:istadv
Unexecuted instantiation: lb_fas.c:istadv
Unexecuted instantiation: lb_fwlc.c:istadv
Unexecuted instantiation: lb_fwrr.c:istadv
Unexecuted instantiation: lb_map.c:istadv
Unexecuted instantiation: lb_ss.c:istadv
Unexecuted instantiation: limits.c:istadv
Unexecuted instantiation: listener.c:istadv
Unexecuted instantiation: log.c:istadv
Unexecuted instantiation: mailers.c:istadv
Unexecuted instantiation: mworker.c:istadv
Unexecuted instantiation: peers.c:istadv
Unexecuted instantiation: pool.c:istadv
Unexecuted instantiation: proto_rhttp.c:istadv
Unexecuted instantiation: proto_sockpair.c:istadv
Unexecuted instantiation: protocol.c:istadv
Unexecuted instantiation: proxy.c:istadv
Unexecuted instantiation: queue.c:istadv
Unexecuted instantiation: regex.c:istadv
Unexecuted instantiation: resolvers.c:istadv
Unexecuted instantiation: ring.c:istadv
Unexecuted instantiation: sample.c:istadv
Unexecuted instantiation: server.c:istadv
Unexecuted instantiation: session.c:istadv
Unexecuted instantiation: signal.c:istadv
Unexecuted instantiation: sink.c:istadv
Unexecuted instantiation: sock.c:istadv
Unexecuted instantiation: sock_inet.c:istadv
Unexecuted instantiation: stats-html.c:istadv
Unexecuted instantiation: stats.c:istadv
Unexecuted instantiation: stconn.c:istadv
Unexecuted instantiation: stick_table.c:istadv
Unexecuted instantiation: stream.c:istadv
Unexecuted instantiation: systemd.c:istadv
Unexecuted instantiation: task.c:istadv
Unexecuted instantiation: tcp_rules.c:istadv
Unexecuted instantiation: tcpcheck.c:istadv
Unexecuted instantiation: thread.c:istadv
Unexecuted instantiation: tools.c:istadv
Unexecuted instantiation: trace.c:istadv
Unexecuted instantiation: uri_auth.c:istadv
Unexecuted instantiation: vars.c:istadv
Unexecuted instantiation: acl.c:istadv
Unexecuted instantiation: action.c:istadv
Unexecuted instantiation: activity.c:istadv
Unexecuted instantiation: applet.c:istadv
Unexecuted instantiation: arg.c:istadv
Unexecuted instantiation: auth.c:istadv
Unexecuted instantiation: backend.c:istadv
Unexecuted instantiation: cache.c:istadv
Unexecuted instantiation: cfgcond.c:istadv
Unexecuted instantiation: cfgparse-global.c:istadv
Unexecuted instantiation: cfgparse-listen.c:istadv
Unexecuted instantiation: channel.c:istadv
Unexecuted instantiation: check.c:istadv
Unexecuted instantiation: compression.c:istadv
Unexecuted instantiation: counters.c:istadv
Unexecuted instantiation: dgram.c:istadv
Unexecuted instantiation: dns.c:istadv
Unexecuted instantiation: dns_ring.c:istadv
Unexecuted instantiation: event_hdl.c:istadv
Unexecuted instantiation: extcheck.c:istadv
Unexecuted instantiation: fcgi-app.c:istadv
Unexecuted instantiation: fix.c:istadv
Unexecuted instantiation: guid.c:istadv
Unexecuted instantiation: h1.c:istadv
Unexecuted instantiation: http_fetch.c:istadv
Unexecuted instantiation: mqtt.c:istadv
Unexecuted instantiation: mux_spop.c:istadv
Unexecuted instantiation: pattern.c:istadv
Unexecuted instantiation: payload.c:istadv
Unexecuted instantiation: proto_tcp.c:istadv
Unexecuted instantiation: shctx.c:istadv
Unexecuted instantiation: stats-file.c:istadv
Unexecuted instantiation: stats-json.c:istadv
Unexecuted instantiation: stats-proxy.c:istadv
Unexecuted instantiation: flt_spoe.c:istadv
Unexecuted instantiation: h1_htx.c:istadv
900
901
/* Splits the given <ist> at the given character. The returned ist is
902
 * equivalent to iststop(ist, delim). The passed <ist> will contain the
903
 * remainder of the string, not including the delimiter. In other words
904
 * it will be advanced by the length of the returned string plus 1.
905
 */
906
static inline struct ist istsplit(struct ist *ist, char delim)
907
0
{
908
0
  const struct ist result = iststop(*ist, delim);
909
910
0
  *ist = istadv(*ist, result.len + 1);
911
912
0
  return result;
913
0
}
Unexecuted instantiation: fuzz_hpack_decode.c:istsplit
Unexecuted instantiation: fuzz_cfg_parser.c:istsplit
Unexecuted instantiation: cfgparse.c:istsplit
Unexecuted instantiation: chunk.c:istsplit
Unexecuted instantiation: cli.c:istsplit
Unexecuted instantiation: clock.c:istsplit
Unexecuted instantiation: connection.c:istsplit
Unexecuted instantiation: debug.c:istsplit
Unexecuted instantiation: dynbuf.c:istsplit
Unexecuted instantiation: errors.c:istsplit
Unexecuted instantiation: fd.c:istsplit
Unexecuted instantiation: filters.c:istsplit
Unexecuted instantiation: flt_http_comp.c:istsplit
Unexecuted instantiation: freq_ctr.c:istsplit
Unexecuted instantiation: frontend.c:istsplit
Unexecuted instantiation: haproxy.c:istsplit
Unexecuted instantiation: http.c:istsplit
Unexecuted instantiation: http_ana.c:istsplit
Unexecuted instantiation: http_ext.c:istsplit
Unexecuted instantiation: http_htx.c:istsplit
Unexecuted instantiation: http_rules.c:istsplit
Unexecuted instantiation: htx.c:istsplit
Unexecuted instantiation: lb_chash.c:istsplit
Unexecuted instantiation: lb_fas.c:istsplit
Unexecuted instantiation: lb_fwlc.c:istsplit
Unexecuted instantiation: lb_fwrr.c:istsplit
Unexecuted instantiation: lb_map.c:istsplit
Unexecuted instantiation: lb_ss.c:istsplit
Unexecuted instantiation: limits.c:istsplit
Unexecuted instantiation: listener.c:istsplit
Unexecuted instantiation: log.c:istsplit
Unexecuted instantiation: mailers.c:istsplit
Unexecuted instantiation: mworker.c:istsplit
Unexecuted instantiation: peers.c:istsplit
Unexecuted instantiation: pool.c:istsplit
Unexecuted instantiation: proto_rhttp.c:istsplit
Unexecuted instantiation: proto_sockpair.c:istsplit
Unexecuted instantiation: protocol.c:istsplit
Unexecuted instantiation: proxy.c:istsplit
Unexecuted instantiation: queue.c:istsplit
Unexecuted instantiation: regex.c:istsplit
Unexecuted instantiation: resolvers.c:istsplit
Unexecuted instantiation: ring.c:istsplit
Unexecuted instantiation: sample.c:istsplit
Unexecuted instantiation: server.c:istsplit
Unexecuted instantiation: session.c:istsplit
Unexecuted instantiation: signal.c:istsplit
Unexecuted instantiation: sink.c:istsplit
Unexecuted instantiation: sock.c:istsplit
Unexecuted instantiation: sock_inet.c:istsplit
Unexecuted instantiation: stats-html.c:istsplit
Unexecuted instantiation: stats.c:istsplit
Unexecuted instantiation: stconn.c:istsplit
Unexecuted instantiation: stick_table.c:istsplit
Unexecuted instantiation: stream.c:istsplit
Unexecuted instantiation: systemd.c:istsplit
Unexecuted instantiation: task.c:istsplit
Unexecuted instantiation: tcp_rules.c:istsplit
Unexecuted instantiation: tcpcheck.c:istsplit
Unexecuted instantiation: thread.c:istsplit
Unexecuted instantiation: tools.c:istsplit
Unexecuted instantiation: trace.c:istsplit
Unexecuted instantiation: uri_auth.c:istsplit
Unexecuted instantiation: vars.c:istsplit
Unexecuted instantiation: acl.c:istsplit
Unexecuted instantiation: action.c:istsplit
Unexecuted instantiation: activity.c:istsplit
Unexecuted instantiation: applet.c:istsplit
Unexecuted instantiation: arg.c:istsplit
Unexecuted instantiation: auth.c:istsplit
Unexecuted instantiation: backend.c:istsplit
Unexecuted instantiation: cache.c:istsplit
Unexecuted instantiation: cfgcond.c:istsplit
Unexecuted instantiation: cfgparse-global.c:istsplit
Unexecuted instantiation: cfgparse-listen.c:istsplit
Unexecuted instantiation: channel.c:istsplit
Unexecuted instantiation: check.c:istsplit
Unexecuted instantiation: compression.c:istsplit
Unexecuted instantiation: counters.c:istsplit
Unexecuted instantiation: dgram.c:istsplit
Unexecuted instantiation: dns.c:istsplit
Unexecuted instantiation: dns_ring.c:istsplit
Unexecuted instantiation: event_hdl.c:istsplit
Unexecuted instantiation: extcheck.c:istsplit
Unexecuted instantiation: fcgi-app.c:istsplit
Unexecuted instantiation: fix.c:istsplit
Unexecuted instantiation: guid.c:istsplit
Unexecuted instantiation: h1.c:istsplit
Unexecuted instantiation: http_fetch.c:istsplit
Unexecuted instantiation: mqtt.c:istsplit
Unexecuted instantiation: mux_spop.c:istsplit
Unexecuted instantiation: pattern.c:istsplit
Unexecuted instantiation: payload.c:istsplit
Unexecuted instantiation: proto_tcp.c:istsplit
Unexecuted instantiation: shctx.c:istsplit
Unexecuted instantiation: stats-file.c:istsplit
Unexecuted instantiation: stats-json.c:istsplit
Unexecuted instantiation: stats-proxy.c:istsplit
Unexecuted instantiation: flt_spoe.c:istsplit
Unexecuted instantiation: h1_htx.c:istsplit
914
915
/*
916
 * compare 2 ists and return non-zero if they are the same
917
 */
918
static inline int istissame(const struct ist ist1, const struct ist ist2)
919
0
{
920
0
  return ((ist1.ptr == ist2.ptr) && (ist1.len == ist2.len));
921
0
}
Unexecuted instantiation: fuzz_hpack_decode.c:istissame
Unexecuted instantiation: fuzz_cfg_parser.c:istissame
Unexecuted instantiation: cfgparse.c:istissame
Unexecuted instantiation: chunk.c:istissame
Unexecuted instantiation: cli.c:istissame
Unexecuted instantiation: clock.c:istissame
Unexecuted instantiation: connection.c:istissame
Unexecuted instantiation: debug.c:istissame
Unexecuted instantiation: dynbuf.c:istissame
Unexecuted instantiation: errors.c:istissame
Unexecuted instantiation: fd.c:istissame
Unexecuted instantiation: filters.c:istissame
Unexecuted instantiation: flt_http_comp.c:istissame
Unexecuted instantiation: freq_ctr.c:istissame
Unexecuted instantiation: frontend.c:istissame
Unexecuted instantiation: haproxy.c:istissame
Unexecuted instantiation: http.c:istissame
Unexecuted instantiation: http_ana.c:istissame
Unexecuted instantiation: http_ext.c:istissame
Unexecuted instantiation: http_htx.c:istissame
Unexecuted instantiation: http_rules.c:istissame
Unexecuted instantiation: htx.c:istissame
Unexecuted instantiation: lb_chash.c:istissame
Unexecuted instantiation: lb_fas.c:istissame
Unexecuted instantiation: lb_fwlc.c:istissame
Unexecuted instantiation: lb_fwrr.c:istissame
Unexecuted instantiation: lb_map.c:istissame
Unexecuted instantiation: lb_ss.c:istissame
Unexecuted instantiation: limits.c:istissame
Unexecuted instantiation: listener.c:istissame
Unexecuted instantiation: log.c:istissame
Unexecuted instantiation: mailers.c:istissame
Unexecuted instantiation: mworker.c:istissame
Unexecuted instantiation: peers.c:istissame
Unexecuted instantiation: pool.c:istissame
Unexecuted instantiation: proto_rhttp.c:istissame
Unexecuted instantiation: proto_sockpair.c:istissame
Unexecuted instantiation: protocol.c:istissame
Unexecuted instantiation: proxy.c:istissame
Unexecuted instantiation: queue.c:istissame
Unexecuted instantiation: regex.c:istissame
Unexecuted instantiation: resolvers.c:istissame
Unexecuted instantiation: ring.c:istissame
Unexecuted instantiation: sample.c:istissame
Unexecuted instantiation: server.c:istissame
Unexecuted instantiation: session.c:istissame
Unexecuted instantiation: signal.c:istissame
Unexecuted instantiation: sink.c:istissame
Unexecuted instantiation: sock.c:istissame
Unexecuted instantiation: sock_inet.c:istissame
Unexecuted instantiation: stats-html.c:istissame
Unexecuted instantiation: stats.c:istissame
Unexecuted instantiation: stconn.c:istissame
Unexecuted instantiation: stick_table.c:istissame
Unexecuted instantiation: stream.c:istissame
Unexecuted instantiation: systemd.c:istissame
Unexecuted instantiation: task.c:istissame
Unexecuted instantiation: tcp_rules.c:istissame
Unexecuted instantiation: tcpcheck.c:istissame
Unexecuted instantiation: thread.c:istissame
Unexecuted instantiation: tools.c:istissame
Unexecuted instantiation: trace.c:istissame
Unexecuted instantiation: uri_auth.c:istissame
Unexecuted instantiation: vars.c:istissame
Unexecuted instantiation: acl.c:istissame
Unexecuted instantiation: action.c:istissame
Unexecuted instantiation: activity.c:istissame
Unexecuted instantiation: applet.c:istissame
Unexecuted instantiation: arg.c:istissame
Unexecuted instantiation: auth.c:istissame
Unexecuted instantiation: backend.c:istissame
Unexecuted instantiation: cache.c:istissame
Unexecuted instantiation: cfgcond.c:istissame
Unexecuted instantiation: cfgparse-global.c:istissame
Unexecuted instantiation: cfgparse-listen.c:istissame
Unexecuted instantiation: channel.c:istissame
Unexecuted instantiation: check.c:istissame
Unexecuted instantiation: compression.c:istissame
Unexecuted instantiation: counters.c:istissame
Unexecuted instantiation: dgram.c:istissame
Unexecuted instantiation: dns.c:istissame
Unexecuted instantiation: dns_ring.c:istissame
Unexecuted instantiation: event_hdl.c:istissame
Unexecuted instantiation: extcheck.c:istissame
Unexecuted instantiation: fcgi-app.c:istissame
Unexecuted instantiation: fix.c:istissame
Unexecuted instantiation: guid.c:istissame
Unexecuted instantiation: h1.c:istissame
Unexecuted instantiation: http_fetch.c:istissame
Unexecuted instantiation: mqtt.c:istissame
Unexecuted instantiation: mux_spop.c:istissame
Unexecuted instantiation: pattern.c:istissame
Unexecuted instantiation: payload.c:istissame
Unexecuted instantiation: proto_tcp.c:istissame
Unexecuted instantiation: shctx.c:istissame
Unexecuted instantiation: stats-file.c:istissame
Unexecuted instantiation: stats-json.c:istissame
Unexecuted instantiation: stats-proxy.c:istissame
Unexecuted instantiation: flt_spoe.c:istissame
Unexecuted instantiation: h1_htx.c:istissame
922
923
#ifndef IST_FREESTANDING
924
/* This function allocates <size> bytes and returns an `ist` pointing to
925
 * the allocated area with size `0`.
926
 *
927
 * If this function fails to allocate memory the return value is equivalent
928
 * to IST_NULL.
929
 */
930
static inline struct ist istalloc(const size_t size)
931
0
{
932
  /* Note: do not use ist2 here, as it triggers a gcc11 warning.
933
   * €˜<unknown>€™ may be used uninitialized [-Werror=maybe-uninitialized]
934
   *
935
   * This warning is reported because the uninitialized memory block
936
   * allocated by malloc should not be passed to a const argument as in
937
   * ist2.
938
   * See https://gcc.gnu.org/onlinedocs/gcc-11.1.0/gcc/Warning-Options.html#index-Wmaybe-uninitialized
939
   */
940
0
  return (struct ist){ .ptr = malloc(size), .len = 0 };
941
0
}
Unexecuted instantiation: fuzz_hpack_decode.c:istalloc
Unexecuted instantiation: fuzz_cfg_parser.c:istalloc
Unexecuted instantiation: cfgparse.c:istalloc
Unexecuted instantiation: chunk.c:istalloc
Unexecuted instantiation: cli.c:istalloc
Unexecuted instantiation: clock.c:istalloc
Unexecuted instantiation: connection.c:istalloc
Unexecuted instantiation: debug.c:istalloc
Unexecuted instantiation: dynbuf.c:istalloc
Unexecuted instantiation: errors.c:istalloc
Unexecuted instantiation: fd.c:istalloc
Unexecuted instantiation: filters.c:istalloc
Unexecuted instantiation: flt_http_comp.c:istalloc
Unexecuted instantiation: freq_ctr.c:istalloc
Unexecuted instantiation: frontend.c:istalloc
Unexecuted instantiation: haproxy.c:istalloc
Unexecuted instantiation: http.c:istalloc
Unexecuted instantiation: http_ana.c:istalloc
Unexecuted instantiation: http_ext.c:istalloc
Unexecuted instantiation: http_htx.c:istalloc
Unexecuted instantiation: http_rules.c:istalloc
Unexecuted instantiation: htx.c:istalloc
Unexecuted instantiation: lb_chash.c:istalloc
Unexecuted instantiation: lb_fas.c:istalloc
Unexecuted instantiation: lb_fwlc.c:istalloc
Unexecuted instantiation: lb_fwrr.c:istalloc
Unexecuted instantiation: lb_map.c:istalloc
Unexecuted instantiation: lb_ss.c:istalloc
Unexecuted instantiation: limits.c:istalloc
Unexecuted instantiation: listener.c:istalloc
Unexecuted instantiation: log.c:istalloc
Unexecuted instantiation: mailers.c:istalloc
Unexecuted instantiation: mworker.c:istalloc
Unexecuted instantiation: peers.c:istalloc
Unexecuted instantiation: pool.c:istalloc
Unexecuted instantiation: proto_rhttp.c:istalloc
Unexecuted instantiation: proto_sockpair.c:istalloc
Unexecuted instantiation: protocol.c:istalloc
Unexecuted instantiation: proxy.c:istalloc
Unexecuted instantiation: queue.c:istalloc
Unexecuted instantiation: regex.c:istalloc
Unexecuted instantiation: resolvers.c:istalloc
Unexecuted instantiation: ring.c:istalloc
Unexecuted instantiation: sample.c:istalloc
Unexecuted instantiation: server.c:istalloc
Unexecuted instantiation: session.c:istalloc
Unexecuted instantiation: signal.c:istalloc
Unexecuted instantiation: sink.c:istalloc
Unexecuted instantiation: sock.c:istalloc
Unexecuted instantiation: sock_inet.c:istalloc
Unexecuted instantiation: stats-html.c:istalloc
Unexecuted instantiation: stats.c:istalloc
Unexecuted instantiation: stconn.c:istalloc
Unexecuted instantiation: stick_table.c:istalloc
Unexecuted instantiation: stream.c:istalloc
Unexecuted instantiation: systemd.c:istalloc
Unexecuted instantiation: task.c:istalloc
Unexecuted instantiation: tcp_rules.c:istalloc
Unexecuted instantiation: tcpcheck.c:istalloc
Unexecuted instantiation: thread.c:istalloc
Unexecuted instantiation: tools.c:istalloc
Unexecuted instantiation: trace.c:istalloc
Unexecuted instantiation: uri_auth.c:istalloc
Unexecuted instantiation: vars.c:istalloc
Unexecuted instantiation: acl.c:istalloc
Unexecuted instantiation: action.c:istalloc
Unexecuted instantiation: activity.c:istalloc
Unexecuted instantiation: applet.c:istalloc
Unexecuted instantiation: arg.c:istalloc
Unexecuted instantiation: auth.c:istalloc
Unexecuted instantiation: backend.c:istalloc
Unexecuted instantiation: cache.c:istalloc
Unexecuted instantiation: cfgcond.c:istalloc
Unexecuted instantiation: cfgparse-global.c:istalloc
Unexecuted instantiation: cfgparse-listen.c:istalloc
Unexecuted instantiation: channel.c:istalloc
Unexecuted instantiation: check.c:istalloc
Unexecuted instantiation: compression.c:istalloc
Unexecuted instantiation: counters.c:istalloc
Unexecuted instantiation: dgram.c:istalloc
Unexecuted instantiation: dns.c:istalloc
Unexecuted instantiation: dns_ring.c:istalloc
Unexecuted instantiation: event_hdl.c:istalloc
Unexecuted instantiation: extcheck.c:istalloc
Unexecuted instantiation: fcgi-app.c:istalloc
Unexecuted instantiation: fix.c:istalloc
Unexecuted instantiation: guid.c:istalloc
Unexecuted instantiation: h1.c:istalloc
Unexecuted instantiation: http_fetch.c:istalloc
Unexecuted instantiation: mqtt.c:istalloc
Unexecuted instantiation: mux_spop.c:istalloc
Unexecuted instantiation: pattern.c:istalloc
Unexecuted instantiation: payload.c:istalloc
Unexecuted instantiation: proto_tcp.c:istalloc
Unexecuted instantiation: shctx.c:istalloc
Unexecuted instantiation: stats-file.c:istalloc
Unexecuted instantiation: stats-json.c:istalloc
Unexecuted instantiation: stats-proxy.c:istalloc
Unexecuted instantiation: flt_spoe.c:istalloc
Unexecuted instantiation: h1_htx.c:istalloc
942
943
/* This function performs the equivalent of free() on the given <ist>.
944
 *
945
 * After this function returns the value of the given <ist> will be
946
 * modified to be equivalent to IST_NULL.
947
 */
948
static inline void istfree(struct ist *ist)
949
0
{
950
0
  free(ist->ptr);
951
0
  *ist = IST_NULL;
952
0
}
Unexecuted instantiation: fuzz_hpack_decode.c:istfree
Unexecuted instantiation: fuzz_cfg_parser.c:istfree
Unexecuted instantiation: cfgparse.c:istfree
Unexecuted instantiation: chunk.c:istfree
Unexecuted instantiation: cli.c:istfree
Unexecuted instantiation: clock.c:istfree
Unexecuted instantiation: connection.c:istfree
Unexecuted instantiation: debug.c:istfree
Unexecuted instantiation: dynbuf.c:istfree
Unexecuted instantiation: errors.c:istfree
Unexecuted instantiation: fd.c:istfree
Unexecuted instantiation: filters.c:istfree
Unexecuted instantiation: flt_http_comp.c:istfree
Unexecuted instantiation: freq_ctr.c:istfree
Unexecuted instantiation: frontend.c:istfree
Unexecuted instantiation: haproxy.c:istfree
Unexecuted instantiation: http.c:istfree
Unexecuted instantiation: http_ana.c:istfree
Unexecuted instantiation: http_ext.c:istfree
Unexecuted instantiation: http_htx.c:istfree
Unexecuted instantiation: http_rules.c:istfree
Unexecuted instantiation: htx.c:istfree
Unexecuted instantiation: lb_chash.c:istfree
Unexecuted instantiation: lb_fas.c:istfree
Unexecuted instantiation: lb_fwlc.c:istfree
Unexecuted instantiation: lb_fwrr.c:istfree
Unexecuted instantiation: lb_map.c:istfree
Unexecuted instantiation: lb_ss.c:istfree
Unexecuted instantiation: limits.c:istfree
Unexecuted instantiation: listener.c:istfree
Unexecuted instantiation: log.c:istfree
Unexecuted instantiation: mailers.c:istfree
Unexecuted instantiation: mworker.c:istfree
Unexecuted instantiation: peers.c:istfree
Unexecuted instantiation: pool.c:istfree
Unexecuted instantiation: proto_rhttp.c:istfree
Unexecuted instantiation: proto_sockpair.c:istfree
Unexecuted instantiation: protocol.c:istfree
Unexecuted instantiation: proxy.c:istfree
Unexecuted instantiation: queue.c:istfree
Unexecuted instantiation: regex.c:istfree
Unexecuted instantiation: resolvers.c:istfree
Unexecuted instantiation: ring.c:istfree
Unexecuted instantiation: sample.c:istfree
Unexecuted instantiation: server.c:istfree
Unexecuted instantiation: session.c:istfree
Unexecuted instantiation: signal.c:istfree
Unexecuted instantiation: sink.c:istfree
Unexecuted instantiation: sock.c:istfree
Unexecuted instantiation: sock_inet.c:istfree
Unexecuted instantiation: stats-html.c:istfree
Unexecuted instantiation: stats.c:istfree
Unexecuted instantiation: stconn.c:istfree
Unexecuted instantiation: stick_table.c:istfree
Unexecuted instantiation: stream.c:istfree
Unexecuted instantiation: systemd.c:istfree
Unexecuted instantiation: task.c:istfree
Unexecuted instantiation: tcp_rules.c:istfree
Unexecuted instantiation: tcpcheck.c:istfree
Unexecuted instantiation: thread.c:istfree
Unexecuted instantiation: tools.c:istfree
Unexecuted instantiation: trace.c:istfree
Unexecuted instantiation: uri_auth.c:istfree
Unexecuted instantiation: vars.c:istfree
Unexecuted instantiation: acl.c:istfree
Unexecuted instantiation: action.c:istfree
Unexecuted instantiation: activity.c:istfree
Unexecuted instantiation: applet.c:istfree
Unexecuted instantiation: arg.c:istfree
Unexecuted instantiation: auth.c:istfree
Unexecuted instantiation: backend.c:istfree
Unexecuted instantiation: cache.c:istfree
Unexecuted instantiation: cfgcond.c:istfree
Unexecuted instantiation: cfgparse-global.c:istfree
Unexecuted instantiation: cfgparse-listen.c:istfree
Unexecuted instantiation: channel.c:istfree
Unexecuted instantiation: check.c:istfree
Unexecuted instantiation: compression.c:istfree
Unexecuted instantiation: counters.c:istfree
Unexecuted instantiation: dgram.c:istfree
Unexecuted instantiation: dns.c:istfree
Unexecuted instantiation: dns_ring.c:istfree
Unexecuted instantiation: event_hdl.c:istfree
Unexecuted instantiation: extcheck.c:istfree
Unexecuted instantiation: fcgi-app.c:istfree
Unexecuted instantiation: fix.c:istfree
Unexecuted instantiation: guid.c:istfree
Unexecuted instantiation: h1.c:istfree
Unexecuted instantiation: http_fetch.c:istfree
Unexecuted instantiation: mqtt.c:istfree
Unexecuted instantiation: mux_spop.c:istfree
Unexecuted instantiation: pattern.c:istfree
Unexecuted instantiation: payload.c:istfree
Unexecuted instantiation: proto_tcp.c:istfree
Unexecuted instantiation: shctx.c:istfree
Unexecuted instantiation: stats-file.c:istfree
Unexecuted instantiation: stats-json.c:istfree
Unexecuted instantiation: stats-proxy.c:istfree
Unexecuted instantiation: flt_spoe.c:istfree
Unexecuted instantiation: h1_htx.c:istfree
953
954
/* This function performs the equivalent of strdup() on the given <src>.
955
 *
956
 * If this function fails to allocate memory the return value is equivalent
957
 * to IST_NULL.
958
 */
959
static inline struct ist istdup(const struct ist src)
960
0
{
961
  /* Allocate 1 extra byte to add an extra \0 delimiter. */
962
0
  struct ist dst = istalloc(src.len + 1);
963
964
0
  if (isttest(dst)) {
965
0
    istcpy(&dst, src, src.len);
966
0
    dst.ptr[dst.len] = '\0';
967
0
  }
968
969
0
  return dst;
970
0
}
Unexecuted instantiation: fuzz_hpack_decode.c:istdup
Unexecuted instantiation: fuzz_cfg_parser.c:istdup
Unexecuted instantiation: cfgparse.c:istdup
Unexecuted instantiation: chunk.c:istdup
Unexecuted instantiation: cli.c:istdup
Unexecuted instantiation: clock.c:istdup
Unexecuted instantiation: connection.c:istdup
Unexecuted instantiation: debug.c:istdup
Unexecuted instantiation: dynbuf.c:istdup
Unexecuted instantiation: errors.c:istdup
Unexecuted instantiation: fd.c:istdup
Unexecuted instantiation: filters.c:istdup
Unexecuted instantiation: flt_http_comp.c:istdup
Unexecuted instantiation: freq_ctr.c:istdup
Unexecuted instantiation: frontend.c:istdup
Unexecuted instantiation: haproxy.c:istdup
Unexecuted instantiation: http.c:istdup
Unexecuted instantiation: http_ana.c:istdup
Unexecuted instantiation: http_ext.c:istdup
Unexecuted instantiation: http_htx.c:istdup
Unexecuted instantiation: http_rules.c:istdup
Unexecuted instantiation: htx.c:istdup
Unexecuted instantiation: lb_chash.c:istdup
Unexecuted instantiation: lb_fas.c:istdup
Unexecuted instantiation: lb_fwlc.c:istdup
Unexecuted instantiation: lb_fwrr.c:istdup
Unexecuted instantiation: lb_map.c:istdup
Unexecuted instantiation: lb_ss.c:istdup
Unexecuted instantiation: limits.c:istdup
Unexecuted instantiation: listener.c:istdup
Unexecuted instantiation: log.c:istdup
Unexecuted instantiation: mailers.c:istdup
Unexecuted instantiation: mworker.c:istdup
Unexecuted instantiation: peers.c:istdup
Unexecuted instantiation: pool.c:istdup
Unexecuted instantiation: proto_rhttp.c:istdup
Unexecuted instantiation: proto_sockpair.c:istdup
Unexecuted instantiation: protocol.c:istdup
Unexecuted instantiation: proxy.c:istdup
Unexecuted instantiation: queue.c:istdup
Unexecuted instantiation: regex.c:istdup
Unexecuted instantiation: resolvers.c:istdup
Unexecuted instantiation: ring.c:istdup
Unexecuted instantiation: sample.c:istdup
Unexecuted instantiation: server.c:istdup
Unexecuted instantiation: session.c:istdup
Unexecuted instantiation: signal.c:istdup
Unexecuted instantiation: sink.c:istdup
Unexecuted instantiation: sock.c:istdup
Unexecuted instantiation: sock_inet.c:istdup
Unexecuted instantiation: stats-html.c:istdup
Unexecuted instantiation: stats.c:istdup
Unexecuted instantiation: stconn.c:istdup
Unexecuted instantiation: stick_table.c:istdup
Unexecuted instantiation: stream.c:istdup
Unexecuted instantiation: systemd.c:istdup
Unexecuted instantiation: task.c:istdup
Unexecuted instantiation: tcp_rules.c:istdup
Unexecuted instantiation: tcpcheck.c:istdup
Unexecuted instantiation: thread.c:istdup
Unexecuted instantiation: tools.c:istdup
Unexecuted instantiation: trace.c:istdup
Unexecuted instantiation: uri_auth.c:istdup
Unexecuted instantiation: vars.c:istdup
Unexecuted instantiation: acl.c:istdup
Unexecuted instantiation: action.c:istdup
Unexecuted instantiation: activity.c:istdup
Unexecuted instantiation: applet.c:istdup
Unexecuted instantiation: arg.c:istdup
Unexecuted instantiation: auth.c:istdup
Unexecuted instantiation: backend.c:istdup
Unexecuted instantiation: cache.c:istdup
Unexecuted instantiation: cfgcond.c:istdup
Unexecuted instantiation: cfgparse-global.c:istdup
Unexecuted instantiation: cfgparse-listen.c:istdup
Unexecuted instantiation: channel.c:istdup
Unexecuted instantiation: check.c:istdup
Unexecuted instantiation: compression.c:istdup
Unexecuted instantiation: counters.c:istdup
Unexecuted instantiation: dgram.c:istdup
Unexecuted instantiation: dns.c:istdup
Unexecuted instantiation: dns_ring.c:istdup
Unexecuted instantiation: event_hdl.c:istdup
Unexecuted instantiation: extcheck.c:istdup
Unexecuted instantiation: fcgi-app.c:istdup
Unexecuted instantiation: fix.c:istdup
Unexecuted instantiation: guid.c:istdup
Unexecuted instantiation: h1.c:istdup
Unexecuted instantiation: http_fetch.c:istdup
Unexecuted instantiation: mqtt.c:istdup
Unexecuted instantiation: mux_spop.c:istdup
Unexecuted instantiation: pattern.c:istdup
Unexecuted instantiation: payload.c:istdup
Unexecuted instantiation: proto_tcp.c:istdup
Unexecuted instantiation: shctx.c:istdup
Unexecuted instantiation: stats-file.c:istdup
Unexecuted instantiation: stats-json.c:istdup
Unexecuted instantiation: stats-proxy.c:istdup
Unexecuted instantiation: flt_spoe.c:istdup
Unexecuted instantiation: h1_htx.c:istdup
971
#endif
972
973
#endif