Coverage Report

Created: 2026-04-03 06:23

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/haproxy/include/haproxy/htx.h
Line
Count
Source
1
/*
2
 * include/haproxy/htx.h
3
 * This file defines everything related to the internal HTTP messages.
4
 *
5
 * Copyright (C) 2018 HAProxy Technologies, Christopher Faulet <cfaulet@haproxy.com>
6
 *
7
 * This library is free software; you can redistribute it and/or
8
 * modify it under the terms of the GNU Lesser General Public
9
 * License as published by the Free Software Foundation, version 2.1
10
 * exclusively.
11
 *
12
 * This library is distributed in the hope that it will be useful,
13
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15
 * Lesser General Public License for more details.
16
 *
17
 * You should have received a copy of the GNU Lesser General Public
18
 * License along with this library; if not, write to the Free Software
19
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
20
 */
21
22
#ifndef _HAPROXY_HTX_H
23
#define _HAPROXY_HTX_H
24
25
#include <import/ist.h>
26
#include <haproxy/api.h>
27
#include <haproxy/buf.h>
28
#include <haproxy/chunk.h>
29
#include <haproxy/http-hdr-t.h>
30
#include <haproxy/http-t.h>
31
#include <haproxy/htx-t.h>
32
33
extern struct htx htx_empty;
34
35
struct htx_blk *htx_defrag(struct htx *htx, struct htx_blk *blk, uint32_t info);
36
struct htx_blk *htx_add_blk(struct htx *htx, enum htx_blk_type type, uint32_t blksz);
37
struct htx_blk *htx_remove_blk(struct htx *htx, struct htx_blk *blk);
38
struct htx_ret htx_find_offset(struct htx *htx, uint32_t offset);
39
void htx_truncate(struct htx *htx, uint32_t offset);
40
void htx_truncate_blk(struct htx *htx, struct htx_blk *blk);
41
struct htx_ret htx_drain(struct htx *htx, uint32_t max);
42
43
struct htx_blk *htx_replace_blk_value(struct htx *htx, struct htx_blk *blk,
44
              const struct ist old, const struct ist new);
45
struct htx_ret htx_xfer_blks(struct htx *dst, struct htx *src, uint32_t count,
46
           enum htx_blk_type mark);
47
48
struct htx_sl *htx_replace_stline(struct htx *htx, struct htx_blk *blk, const struct ist p1,
49
          const struct ist p2, const struct ist p3);
50
51
struct htx_blk *htx_replace_header(struct htx *htx, struct htx_blk *blk,
52
           const struct ist name, const struct ist value);
53
54
struct htx_ret htx_reserve_max_data(struct htx *htx);
55
struct htx_blk *htx_add_data_atonce(struct htx *htx, struct ist data);
56
size_t htx_add_data(struct htx *htx, const struct ist data);
57
struct htx_blk *htx_add_last_data(struct htx *htx, struct ist data);
58
void htx_move_blk_before(struct htx *htx, struct htx_blk **blk, struct htx_blk **ref);
59
int htx_append_msg(struct htx *dst, const struct htx *src);
60
struct buffer *htx_move_to_small_buffer(struct buffer *dst, struct buffer *src);
61
struct buffer *htx_move_to_large_buffer(struct buffer *dst, struct buffer *src);
62
struct buffer *htx_copy_to_small_buffer(struct buffer *dst, struct buffer *src);
63
struct buffer *htx_copy_to_large_buffer(struct buffer *dst, struct buffer *src);
64
65
0
#define HTX_XFER_DEFAULT           0x00000000 /* Default XFER: no partial xfer / remove blocks from source */
66
0
#define HTX_XFER_KEEP_SRC_BLKS     0x00000001 /* Don't remove xfer blocks from source messages during xfer */
67
0
#define HTX_XFER_PARTIAL_HDRS_COPY 0x00000002 /* Allow partial copy of headers and trailers part */
68
0
#define HTX_XFER_HDRS_ONLY         0x00000003 /* Only Transfer header blocks (start-line, header and EOH) */
69
size_t htx_xfer(struct htx *dst, struct htx *src, size_t count, unsigned int flags);
70
71
/* Functions and macros to get parts of the start-line or length of these
72
 * parts. Request and response start-lines are both composed of 3 parts.
73
 */
74
0
#define HTX_SL_LEN(sl) ((sl)->len[0] + (sl)->len[1] + (sl)->len[2])
75
76
3.98k
#define HTX_SL_P1_LEN(sl) ((sl)->len[0])
77
2.66k
#define HTX_SL_P2_LEN(sl) ((sl)->len[1])
78
1.32k
#define HTX_SL_P3_LEN(sl) ((sl)->len[2])
79
3.98k
#define HTX_SL_P1_PTR(sl) ((sl)->l)
80
2.66k
#define HTX_SL_P2_PTR(sl) (HTX_SL_P1_PTR(sl) + HTX_SL_P1_LEN(sl))
81
1.32k
#define HTX_SL_P3_PTR(sl) (HTX_SL_P2_PTR(sl) + HTX_SL_P2_LEN(sl))
82
83
0
#define HTX_SL_REQ_MLEN(sl) HTX_SL_P1_LEN(sl)
84
0
#define HTX_SL_REQ_ULEN(sl) HTX_SL_P2_LEN(sl)
85
0
#define HTX_SL_REQ_VLEN(sl) HTX_SL_P3_LEN(sl)
86
0
#define HTX_SL_REQ_MPTR(sl) HTX_SL_P1_PTR(sl)
87
0
#define HTX_SL_REQ_UPTR(sl) HTX_SL_P2_PTR(sl)
88
0
#define HTX_SL_REQ_VPTR(sl) HTX_SL_P3_PTR(sl)
89
90
0
#define HTX_SL_RES_VLEN(sl) HTX_SL_P1_LEN(sl)
91
0
#define HTX_SL_RES_CLEN(sl) HTX_SL_P2_LEN(sl)
92
0
#define HTX_SL_RES_RLEN(sl) HTX_SL_P3_LEN(sl)
93
0
#define HTX_SL_RES_VPTR(sl) HTX_SL_P1_PTR(sl)
94
0
#define HTX_SL_RES_CPTR(sl) HTX_SL_P2_PTR(sl)
95
0
#define HTX_SL_RES_RPTR(sl) HTX_SL_P3_PTR(sl)
96
97
static inline struct ist htx_sl_p1(const struct htx_sl *sl)
98
0
{
99
0
  return ist2(HTX_SL_P1_PTR(sl), HTX_SL_P1_LEN(sl));
100
0
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_sl_p1
Unexecuted instantiation: debug.c:htx_sl_p1
Unexecuted instantiation: h1_htx.c:htx_sl_p1
Unexecuted instantiation: haproxy.c:htx_sl_p1
Unexecuted instantiation: http_htx.c:htx_sl_p1
Unexecuted instantiation: htx.c:htx_sl_p1
Unexecuted instantiation: log.c:htx_sl_p1
Unexecuted instantiation: mworker.c:htx_sl_p1
Unexecuted instantiation: peers.c:htx_sl_p1
Unexecuted instantiation: pool.c:htx_sl_p1
Unexecuted instantiation: proxy.c:htx_sl_p1
Unexecuted instantiation: resolvers.c:htx_sl_p1
Unexecuted instantiation: ring.c:htx_sl_p1
Unexecuted instantiation: sample.c:htx_sl_p1
Unexecuted instantiation: server.c:htx_sl_p1
Unexecuted instantiation: sink.c:htx_sl_p1
Unexecuted instantiation: stats.c:htx_sl_p1
Unexecuted instantiation: stconn.c:htx_sl_p1
Unexecuted instantiation: stick_table.c:htx_sl_p1
Unexecuted instantiation: stream.c:htx_sl_p1
Unexecuted instantiation: tcp_rules.c:htx_sl_p1
Unexecuted instantiation: tcpcheck.c:htx_sl_p1
Unexecuted instantiation: tools.c:htx_sl_p1
Unexecuted instantiation: trace.c:htx_sl_p1
Unexecuted instantiation: vars.c:htx_sl_p1
Unexecuted instantiation: activity.c:htx_sl_p1
Unexecuted instantiation: applet.c:htx_sl_p1
Unexecuted instantiation: backend.c:htx_sl_p1
Unexecuted instantiation: cfgparse.c:htx_sl_p1
Unexecuted instantiation: channel.c:htx_sl_p1
Unexecuted instantiation: check.c:htx_sl_p1
Unexecuted instantiation: cli.c:htx_sl_p1
Unexecuted instantiation: connection.c:htx_sl_p1
Unexecuted instantiation: dns.c:htx_sl_p1
Unexecuted instantiation: dns_ring.c:htx_sl_p1
Unexecuted instantiation: errors.c:htx_sl_p1
Unexecuted instantiation: filters.c:htx_sl_p1
Unexecuted instantiation: flt_http_comp.c:htx_sl_p1
Unexecuted instantiation: frontend.c:htx_sl_p1
Unexecuted instantiation: haterm.c:htx_sl_p1
Unexecuted instantiation: http_ana.c:htx_sl_p1
Unexecuted instantiation: http_ext.c:htx_sl_p1
Unexecuted instantiation: http_fetch.c:htx_sl_p1
Unexecuted instantiation: payload.c:htx_sl_p1
Unexecuted instantiation: stats-html.c:htx_sl_p1
Unexecuted instantiation: stats-json.c:htx_sl_p1
Unexecuted instantiation: cache.c:htx_sl_p1
Unexecuted instantiation: fcgi-app.c:htx_sl_p1
Unexecuted instantiation: flt_spoe.c:htx_sl_p1
101
102
static inline struct ist htx_sl_p2(const struct htx_sl *sl)
103
13
{
104
13
  return ist2(HTX_SL_P2_PTR(sl), HTX_SL_P2_LEN(sl));
105
13
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_sl_p2
Unexecuted instantiation: debug.c:htx_sl_p2
Unexecuted instantiation: h1_htx.c:htx_sl_p2
Unexecuted instantiation: haproxy.c:htx_sl_p2
http_htx.c:htx_sl_p2
Line
Count
Source
103
13
{
104
13
  return ist2(HTX_SL_P2_PTR(sl), HTX_SL_P2_LEN(sl));
105
13
}
Unexecuted instantiation: htx.c:htx_sl_p2
Unexecuted instantiation: log.c:htx_sl_p2
Unexecuted instantiation: mworker.c:htx_sl_p2
Unexecuted instantiation: peers.c:htx_sl_p2
Unexecuted instantiation: pool.c:htx_sl_p2
Unexecuted instantiation: proxy.c:htx_sl_p2
Unexecuted instantiation: resolvers.c:htx_sl_p2
Unexecuted instantiation: ring.c:htx_sl_p2
Unexecuted instantiation: sample.c:htx_sl_p2
Unexecuted instantiation: server.c:htx_sl_p2
Unexecuted instantiation: sink.c:htx_sl_p2
Unexecuted instantiation: stats.c:htx_sl_p2
Unexecuted instantiation: stconn.c:htx_sl_p2
Unexecuted instantiation: stick_table.c:htx_sl_p2
Unexecuted instantiation: stream.c:htx_sl_p2
Unexecuted instantiation: tcp_rules.c:htx_sl_p2
Unexecuted instantiation: tcpcheck.c:htx_sl_p2
Unexecuted instantiation: tools.c:htx_sl_p2
Unexecuted instantiation: trace.c:htx_sl_p2
Unexecuted instantiation: vars.c:htx_sl_p2
Unexecuted instantiation: activity.c:htx_sl_p2
Unexecuted instantiation: applet.c:htx_sl_p2
Unexecuted instantiation: backend.c:htx_sl_p2
Unexecuted instantiation: cfgparse.c:htx_sl_p2
Unexecuted instantiation: channel.c:htx_sl_p2
Unexecuted instantiation: check.c:htx_sl_p2
Unexecuted instantiation: cli.c:htx_sl_p2
Unexecuted instantiation: connection.c:htx_sl_p2
Unexecuted instantiation: dns.c:htx_sl_p2
Unexecuted instantiation: dns_ring.c:htx_sl_p2
Unexecuted instantiation: errors.c:htx_sl_p2
Unexecuted instantiation: filters.c:htx_sl_p2
Unexecuted instantiation: flt_http_comp.c:htx_sl_p2
Unexecuted instantiation: frontend.c:htx_sl_p2
Unexecuted instantiation: haterm.c:htx_sl_p2
Unexecuted instantiation: http_ana.c:htx_sl_p2
Unexecuted instantiation: http_ext.c:htx_sl_p2
Unexecuted instantiation: http_fetch.c:htx_sl_p2
Unexecuted instantiation: payload.c:htx_sl_p2
Unexecuted instantiation: stats-html.c:htx_sl_p2
Unexecuted instantiation: stats-json.c:htx_sl_p2
Unexecuted instantiation: cache.c:htx_sl_p2
Unexecuted instantiation: fcgi-app.c:htx_sl_p2
Unexecuted instantiation: flt_spoe.c:htx_sl_p2
106
107
static inline struct ist htx_sl_p3(const struct htx_sl *sl)
108
0
{
109
0
  return ist2(HTX_SL_P3_PTR(sl), HTX_SL_P3_LEN(sl));
110
0
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_sl_p3
Unexecuted instantiation: debug.c:htx_sl_p3
Unexecuted instantiation: h1_htx.c:htx_sl_p3
Unexecuted instantiation: haproxy.c:htx_sl_p3
Unexecuted instantiation: http_htx.c:htx_sl_p3
Unexecuted instantiation: htx.c:htx_sl_p3
Unexecuted instantiation: log.c:htx_sl_p3
Unexecuted instantiation: mworker.c:htx_sl_p3
Unexecuted instantiation: peers.c:htx_sl_p3
Unexecuted instantiation: pool.c:htx_sl_p3
Unexecuted instantiation: proxy.c:htx_sl_p3
Unexecuted instantiation: resolvers.c:htx_sl_p3
Unexecuted instantiation: ring.c:htx_sl_p3
Unexecuted instantiation: sample.c:htx_sl_p3
Unexecuted instantiation: server.c:htx_sl_p3
Unexecuted instantiation: sink.c:htx_sl_p3
Unexecuted instantiation: stats.c:htx_sl_p3
Unexecuted instantiation: stconn.c:htx_sl_p3
Unexecuted instantiation: stick_table.c:htx_sl_p3
Unexecuted instantiation: stream.c:htx_sl_p3
Unexecuted instantiation: tcp_rules.c:htx_sl_p3
Unexecuted instantiation: tcpcheck.c:htx_sl_p3
Unexecuted instantiation: tools.c:htx_sl_p3
Unexecuted instantiation: trace.c:htx_sl_p3
Unexecuted instantiation: vars.c:htx_sl_p3
Unexecuted instantiation: activity.c:htx_sl_p3
Unexecuted instantiation: applet.c:htx_sl_p3
Unexecuted instantiation: backend.c:htx_sl_p3
Unexecuted instantiation: cfgparse.c:htx_sl_p3
Unexecuted instantiation: channel.c:htx_sl_p3
Unexecuted instantiation: check.c:htx_sl_p3
Unexecuted instantiation: cli.c:htx_sl_p3
Unexecuted instantiation: connection.c:htx_sl_p3
Unexecuted instantiation: dns.c:htx_sl_p3
Unexecuted instantiation: dns_ring.c:htx_sl_p3
Unexecuted instantiation: errors.c:htx_sl_p3
Unexecuted instantiation: filters.c:htx_sl_p3
Unexecuted instantiation: flt_http_comp.c:htx_sl_p3
Unexecuted instantiation: frontend.c:htx_sl_p3
Unexecuted instantiation: haterm.c:htx_sl_p3
Unexecuted instantiation: http_ana.c:htx_sl_p3
Unexecuted instantiation: http_ext.c:htx_sl_p3
Unexecuted instantiation: http_fetch.c:htx_sl_p3
Unexecuted instantiation: payload.c:htx_sl_p3
Unexecuted instantiation: stats-html.c:htx_sl_p3
Unexecuted instantiation: stats-json.c:htx_sl_p3
Unexecuted instantiation: cache.c:htx_sl_p3
Unexecuted instantiation: fcgi-app.c:htx_sl_p3
Unexecuted instantiation: flt_spoe.c:htx_sl_p3
111
112
static inline struct ist htx_sl_vsn(const struct htx_sl *sl)
113
0
{
114
0
  return ((sl->flags & HTX_SL_F_IS_RESP) ? htx_sl_p1(sl) : htx_sl_p3(sl));
115
0
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_sl_vsn
Unexecuted instantiation: debug.c:htx_sl_vsn
Unexecuted instantiation: h1_htx.c:htx_sl_vsn
Unexecuted instantiation: haproxy.c:htx_sl_vsn
Unexecuted instantiation: http_htx.c:htx_sl_vsn
Unexecuted instantiation: htx.c:htx_sl_vsn
Unexecuted instantiation: log.c:htx_sl_vsn
Unexecuted instantiation: mworker.c:htx_sl_vsn
Unexecuted instantiation: peers.c:htx_sl_vsn
Unexecuted instantiation: pool.c:htx_sl_vsn
Unexecuted instantiation: proxy.c:htx_sl_vsn
Unexecuted instantiation: resolvers.c:htx_sl_vsn
Unexecuted instantiation: ring.c:htx_sl_vsn
Unexecuted instantiation: sample.c:htx_sl_vsn
Unexecuted instantiation: server.c:htx_sl_vsn
Unexecuted instantiation: sink.c:htx_sl_vsn
Unexecuted instantiation: stats.c:htx_sl_vsn
Unexecuted instantiation: stconn.c:htx_sl_vsn
Unexecuted instantiation: stick_table.c:htx_sl_vsn
Unexecuted instantiation: stream.c:htx_sl_vsn
Unexecuted instantiation: tcp_rules.c:htx_sl_vsn
Unexecuted instantiation: tcpcheck.c:htx_sl_vsn
Unexecuted instantiation: tools.c:htx_sl_vsn
Unexecuted instantiation: trace.c:htx_sl_vsn
Unexecuted instantiation: vars.c:htx_sl_vsn
Unexecuted instantiation: activity.c:htx_sl_vsn
Unexecuted instantiation: applet.c:htx_sl_vsn
Unexecuted instantiation: backend.c:htx_sl_vsn
Unexecuted instantiation: cfgparse.c:htx_sl_vsn
Unexecuted instantiation: channel.c:htx_sl_vsn
Unexecuted instantiation: check.c:htx_sl_vsn
Unexecuted instantiation: cli.c:htx_sl_vsn
Unexecuted instantiation: connection.c:htx_sl_vsn
Unexecuted instantiation: dns.c:htx_sl_vsn
Unexecuted instantiation: dns_ring.c:htx_sl_vsn
Unexecuted instantiation: errors.c:htx_sl_vsn
Unexecuted instantiation: filters.c:htx_sl_vsn
Unexecuted instantiation: flt_http_comp.c:htx_sl_vsn
Unexecuted instantiation: frontend.c:htx_sl_vsn
Unexecuted instantiation: haterm.c:htx_sl_vsn
Unexecuted instantiation: http_ana.c:htx_sl_vsn
Unexecuted instantiation: http_ext.c:htx_sl_vsn
Unexecuted instantiation: http_fetch.c:htx_sl_vsn
Unexecuted instantiation: payload.c:htx_sl_vsn
Unexecuted instantiation: stats-html.c:htx_sl_vsn
Unexecuted instantiation: stats-json.c:htx_sl_vsn
Unexecuted instantiation: cache.c:htx_sl_vsn
Unexecuted instantiation: fcgi-app.c:htx_sl_vsn
Unexecuted instantiation: flt_spoe.c:htx_sl_vsn
116
117
static inline struct ist htx_sl_req_meth(const struct htx_sl *sl)
118
0
{
119
0
  return htx_sl_p1(sl);
120
0
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_sl_req_meth
Unexecuted instantiation: debug.c:htx_sl_req_meth
Unexecuted instantiation: h1_htx.c:htx_sl_req_meth
Unexecuted instantiation: haproxy.c:htx_sl_req_meth
Unexecuted instantiation: http_htx.c:htx_sl_req_meth
Unexecuted instantiation: htx.c:htx_sl_req_meth
Unexecuted instantiation: log.c:htx_sl_req_meth
Unexecuted instantiation: mworker.c:htx_sl_req_meth
Unexecuted instantiation: peers.c:htx_sl_req_meth
Unexecuted instantiation: pool.c:htx_sl_req_meth
Unexecuted instantiation: proxy.c:htx_sl_req_meth
Unexecuted instantiation: resolvers.c:htx_sl_req_meth
Unexecuted instantiation: ring.c:htx_sl_req_meth
Unexecuted instantiation: sample.c:htx_sl_req_meth
Unexecuted instantiation: server.c:htx_sl_req_meth
Unexecuted instantiation: sink.c:htx_sl_req_meth
Unexecuted instantiation: stats.c:htx_sl_req_meth
Unexecuted instantiation: stconn.c:htx_sl_req_meth
Unexecuted instantiation: stick_table.c:htx_sl_req_meth
Unexecuted instantiation: stream.c:htx_sl_req_meth
Unexecuted instantiation: tcp_rules.c:htx_sl_req_meth
Unexecuted instantiation: tcpcheck.c:htx_sl_req_meth
Unexecuted instantiation: tools.c:htx_sl_req_meth
Unexecuted instantiation: trace.c:htx_sl_req_meth
Unexecuted instantiation: vars.c:htx_sl_req_meth
Unexecuted instantiation: activity.c:htx_sl_req_meth
Unexecuted instantiation: applet.c:htx_sl_req_meth
Unexecuted instantiation: backend.c:htx_sl_req_meth
Unexecuted instantiation: cfgparse.c:htx_sl_req_meth
Unexecuted instantiation: channel.c:htx_sl_req_meth
Unexecuted instantiation: check.c:htx_sl_req_meth
Unexecuted instantiation: cli.c:htx_sl_req_meth
Unexecuted instantiation: connection.c:htx_sl_req_meth
Unexecuted instantiation: dns.c:htx_sl_req_meth
Unexecuted instantiation: dns_ring.c:htx_sl_req_meth
Unexecuted instantiation: errors.c:htx_sl_req_meth
Unexecuted instantiation: filters.c:htx_sl_req_meth
Unexecuted instantiation: flt_http_comp.c:htx_sl_req_meth
Unexecuted instantiation: frontend.c:htx_sl_req_meth
Unexecuted instantiation: haterm.c:htx_sl_req_meth
Unexecuted instantiation: http_ana.c:htx_sl_req_meth
Unexecuted instantiation: http_ext.c:htx_sl_req_meth
Unexecuted instantiation: http_fetch.c:htx_sl_req_meth
Unexecuted instantiation: payload.c:htx_sl_req_meth
Unexecuted instantiation: stats-html.c:htx_sl_req_meth
Unexecuted instantiation: stats-json.c:htx_sl_req_meth
Unexecuted instantiation: cache.c:htx_sl_req_meth
Unexecuted instantiation: fcgi-app.c:htx_sl_req_meth
Unexecuted instantiation: flt_spoe.c:htx_sl_req_meth
121
122
static inline struct ist htx_sl_req_uri(const struct htx_sl *sl)
123
13
{
124
13
  return htx_sl_p2(sl);
125
13
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_sl_req_uri
Unexecuted instantiation: debug.c:htx_sl_req_uri
Unexecuted instantiation: h1_htx.c:htx_sl_req_uri
Unexecuted instantiation: haproxy.c:htx_sl_req_uri
http_htx.c:htx_sl_req_uri
Line
Count
Source
123
13
{
124
13
  return htx_sl_p2(sl);
125
13
}
Unexecuted instantiation: htx.c:htx_sl_req_uri
Unexecuted instantiation: log.c:htx_sl_req_uri
Unexecuted instantiation: mworker.c:htx_sl_req_uri
Unexecuted instantiation: peers.c:htx_sl_req_uri
Unexecuted instantiation: pool.c:htx_sl_req_uri
Unexecuted instantiation: proxy.c:htx_sl_req_uri
Unexecuted instantiation: resolvers.c:htx_sl_req_uri
Unexecuted instantiation: ring.c:htx_sl_req_uri
Unexecuted instantiation: sample.c:htx_sl_req_uri
Unexecuted instantiation: server.c:htx_sl_req_uri
Unexecuted instantiation: sink.c:htx_sl_req_uri
Unexecuted instantiation: stats.c:htx_sl_req_uri
Unexecuted instantiation: stconn.c:htx_sl_req_uri
Unexecuted instantiation: stick_table.c:htx_sl_req_uri
Unexecuted instantiation: stream.c:htx_sl_req_uri
Unexecuted instantiation: tcp_rules.c:htx_sl_req_uri
Unexecuted instantiation: tcpcheck.c:htx_sl_req_uri
Unexecuted instantiation: tools.c:htx_sl_req_uri
Unexecuted instantiation: trace.c:htx_sl_req_uri
Unexecuted instantiation: vars.c:htx_sl_req_uri
Unexecuted instantiation: activity.c:htx_sl_req_uri
Unexecuted instantiation: applet.c:htx_sl_req_uri
Unexecuted instantiation: backend.c:htx_sl_req_uri
Unexecuted instantiation: cfgparse.c:htx_sl_req_uri
Unexecuted instantiation: channel.c:htx_sl_req_uri
Unexecuted instantiation: check.c:htx_sl_req_uri
Unexecuted instantiation: cli.c:htx_sl_req_uri
Unexecuted instantiation: connection.c:htx_sl_req_uri
Unexecuted instantiation: dns.c:htx_sl_req_uri
Unexecuted instantiation: dns_ring.c:htx_sl_req_uri
Unexecuted instantiation: errors.c:htx_sl_req_uri
Unexecuted instantiation: filters.c:htx_sl_req_uri
Unexecuted instantiation: flt_http_comp.c:htx_sl_req_uri
Unexecuted instantiation: frontend.c:htx_sl_req_uri
Unexecuted instantiation: haterm.c:htx_sl_req_uri
Unexecuted instantiation: http_ana.c:htx_sl_req_uri
Unexecuted instantiation: http_ext.c:htx_sl_req_uri
Unexecuted instantiation: http_fetch.c:htx_sl_req_uri
Unexecuted instantiation: payload.c:htx_sl_req_uri
Unexecuted instantiation: stats-html.c:htx_sl_req_uri
Unexecuted instantiation: stats-json.c:htx_sl_req_uri
Unexecuted instantiation: cache.c:htx_sl_req_uri
Unexecuted instantiation: fcgi-app.c:htx_sl_req_uri
Unexecuted instantiation: flt_spoe.c:htx_sl_req_uri
126
127
static inline struct ist htx_sl_req_vsn(const struct htx_sl *sl)
128
0
{
129
0
  return htx_sl_p3(sl);
130
0
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_sl_req_vsn
Unexecuted instantiation: debug.c:htx_sl_req_vsn
Unexecuted instantiation: h1_htx.c:htx_sl_req_vsn
Unexecuted instantiation: haproxy.c:htx_sl_req_vsn
Unexecuted instantiation: http_htx.c:htx_sl_req_vsn
Unexecuted instantiation: htx.c:htx_sl_req_vsn
Unexecuted instantiation: log.c:htx_sl_req_vsn
Unexecuted instantiation: mworker.c:htx_sl_req_vsn
Unexecuted instantiation: peers.c:htx_sl_req_vsn
Unexecuted instantiation: pool.c:htx_sl_req_vsn
Unexecuted instantiation: proxy.c:htx_sl_req_vsn
Unexecuted instantiation: resolvers.c:htx_sl_req_vsn
Unexecuted instantiation: ring.c:htx_sl_req_vsn
Unexecuted instantiation: sample.c:htx_sl_req_vsn
Unexecuted instantiation: server.c:htx_sl_req_vsn
Unexecuted instantiation: sink.c:htx_sl_req_vsn
Unexecuted instantiation: stats.c:htx_sl_req_vsn
Unexecuted instantiation: stconn.c:htx_sl_req_vsn
Unexecuted instantiation: stick_table.c:htx_sl_req_vsn
Unexecuted instantiation: stream.c:htx_sl_req_vsn
Unexecuted instantiation: tcp_rules.c:htx_sl_req_vsn
Unexecuted instantiation: tcpcheck.c:htx_sl_req_vsn
Unexecuted instantiation: tools.c:htx_sl_req_vsn
Unexecuted instantiation: trace.c:htx_sl_req_vsn
Unexecuted instantiation: vars.c:htx_sl_req_vsn
Unexecuted instantiation: activity.c:htx_sl_req_vsn
Unexecuted instantiation: applet.c:htx_sl_req_vsn
Unexecuted instantiation: backend.c:htx_sl_req_vsn
Unexecuted instantiation: cfgparse.c:htx_sl_req_vsn
Unexecuted instantiation: channel.c:htx_sl_req_vsn
Unexecuted instantiation: check.c:htx_sl_req_vsn
Unexecuted instantiation: cli.c:htx_sl_req_vsn
Unexecuted instantiation: connection.c:htx_sl_req_vsn
Unexecuted instantiation: dns.c:htx_sl_req_vsn
Unexecuted instantiation: dns_ring.c:htx_sl_req_vsn
Unexecuted instantiation: errors.c:htx_sl_req_vsn
Unexecuted instantiation: filters.c:htx_sl_req_vsn
Unexecuted instantiation: flt_http_comp.c:htx_sl_req_vsn
Unexecuted instantiation: frontend.c:htx_sl_req_vsn
Unexecuted instantiation: haterm.c:htx_sl_req_vsn
Unexecuted instantiation: http_ana.c:htx_sl_req_vsn
Unexecuted instantiation: http_ext.c:htx_sl_req_vsn
Unexecuted instantiation: http_fetch.c:htx_sl_req_vsn
Unexecuted instantiation: payload.c:htx_sl_req_vsn
Unexecuted instantiation: stats-html.c:htx_sl_req_vsn
Unexecuted instantiation: stats-json.c:htx_sl_req_vsn
Unexecuted instantiation: cache.c:htx_sl_req_vsn
Unexecuted instantiation: fcgi-app.c:htx_sl_req_vsn
Unexecuted instantiation: flt_spoe.c:htx_sl_req_vsn
131
132
133
static inline struct ist htx_sl_res_vsn(const struct htx_sl *sl)
134
0
{
135
0
  return htx_sl_p1(sl);
136
0
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_sl_res_vsn
Unexecuted instantiation: debug.c:htx_sl_res_vsn
Unexecuted instantiation: h1_htx.c:htx_sl_res_vsn
Unexecuted instantiation: haproxy.c:htx_sl_res_vsn
Unexecuted instantiation: http_htx.c:htx_sl_res_vsn
Unexecuted instantiation: htx.c:htx_sl_res_vsn
Unexecuted instantiation: log.c:htx_sl_res_vsn
Unexecuted instantiation: mworker.c:htx_sl_res_vsn
Unexecuted instantiation: peers.c:htx_sl_res_vsn
Unexecuted instantiation: pool.c:htx_sl_res_vsn
Unexecuted instantiation: proxy.c:htx_sl_res_vsn
Unexecuted instantiation: resolvers.c:htx_sl_res_vsn
Unexecuted instantiation: ring.c:htx_sl_res_vsn
Unexecuted instantiation: sample.c:htx_sl_res_vsn
Unexecuted instantiation: server.c:htx_sl_res_vsn
Unexecuted instantiation: sink.c:htx_sl_res_vsn
Unexecuted instantiation: stats.c:htx_sl_res_vsn
Unexecuted instantiation: stconn.c:htx_sl_res_vsn
Unexecuted instantiation: stick_table.c:htx_sl_res_vsn
Unexecuted instantiation: stream.c:htx_sl_res_vsn
Unexecuted instantiation: tcp_rules.c:htx_sl_res_vsn
Unexecuted instantiation: tcpcheck.c:htx_sl_res_vsn
Unexecuted instantiation: tools.c:htx_sl_res_vsn
Unexecuted instantiation: trace.c:htx_sl_res_vsn
Unexecuted instantiation: vars.c:htx_sl_res_vsn
Unexecuted instantiation: activity.c:htx_sl_res_vsn
Unexecuted instantiation: applet.c:htx_sl_res_vsn
Unexecuted instantiation: backend.c:htx_sl_res_vsn
Unexecuted instantiation: cfgparse.c:htx_sl_res_vsn
Unexecuted instantiation: channel.c:htx_sl_res_vsn
Unexecuted instantiation: check.c:htx_sl_res_vsn
Unexecuted instantiation: cli.c:htx_sl_res_vsn
Unexecuted instantiation: connection.c:htx_sl_res_vsn
Unexecuted instantiation: dns.c:htx_sl_res_vsn
Unexecuted instantiation: dns_ring.c:htx_sl_res_vsn
Unexecuted instantiation: errors.c:htx_sl_res_vsn
Unexecuted instantiation: filters.c:htx_sl_res_vsn
Unexecuted instantiation: flt_http_comp.c:htx_sl_res_vsn
Unexecuted instantiation: frontend.c:htx_sl_res_vsn
Unexecuted instantiation: haterm.c:htx_sl_res_vsn
Unexecuted instantiation: http_ana.c:htx_sl_res_vsn
Unexecuted instantiation: http_ext.c:htx_sl_res_vsn
Unexecuted instantiation: http_fetch.c:htx_sl_res_vsn
Unexecuted instantiation: payload.c:htx_sl_res_vsn
Unexecuted instantiation: stats-html.c:htx_sl_res_vsn
Unexecuted instantiation: stats-json.c:htx_sl_res_vsn
Unexecuted instantiation: cache.c:htx_sl_res_vsn
Unexecuted instantiation: fcgi-app.c:htx_sl_res_vsn
Unexecuted instantiation: flt_spoe.c:htx_sl_res_vsn
137
138
static inline struct ist htx_sl_res_code(const struct htx_sl *sl)
139
0
{
140
0
  return htx_sl_p2(sl);
141
0
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_sl_res_code
Unexecuted instantiation: debug.c:htx_sl_res_code
Unexecuted instantiation: h1_htx.c:htx_sl_res_code
Unexecuted instantiation: haproxy.c:htx_sl_res_code
Unexecuted instantiation: http_htx.c:htx_sl_res_code
Unexecuted instantiation: htx.c:htx_sl_res_code
Unexecuted instantiation: log.c:htx_sl_res_code
Unexecuted instantiation: mworker.c:htx_sl_res_code
Unexecuted instantiation: peers.c:htx_sl_res_code
Unexecuted instantiation: pool.c:htx_sl_res_code
Unexecuted instantiation: proxy.c:htx_sl_res_code
Unexecuted instantiation: resolvers.c:htx_sl_res_code
Unexecuted instantiation: ring.c:htx_sl_res_code
Unexecuted instantiation: sample.c:htx_sl_res_code
Unexecuted instantiation: server.c:htx_sl_res_code
Unexecuted instantiation: sink.c:htx_sl_res_code
Unexecuted instantiation: stats.c:htx_sl_res_code
Unexecuted instantiation: stconn.c:htx_sl_res_code
Unexecuted instantiation: stick_table.c:htx_sl_res_code
Unexecuted instantiation: stream.c:htx_sl_res_code
Unexecuted instantiation: tcp_rules.c:htx_sl_res_code
Unexecuted instantiation: tcpcheck.c:htx_sl_res_code
Unexecuted instantiation: tools.c:htx_sl_res_code
Unexecuted instantiation: trace.c:htx_sl_res_code
Unexecuted instantiation: vars.c:htx_sl_res_code
Unexecuted instantiation: activity.c:htx_sl_res_code
Unexecuted instantiation: applet.c:htx_sl_res_code
Unexecuted instantiation: backend.c:htx_sl_res_code
Unexecuted instantiation: cfgparse.c:htx_sl_res_code
Unexecuted instantiation: channel.c:htx_sl_res_code
Unexecuted instantiation: check.c:htx_sl_res_code
Unexecuted instantiation: cli.c:htx_sl_res_code
Unexecuted instantiation: connection.c:htx_sl_res_code
Unexecuted instantiation: dns.c:htx_sl_res_code
Unexecuted instantiation: dns_ring.c:htx_sl_res_code
Unexecuted instantiation: errors.c:htx_sl_res_code
Unexecuted instantiation: filters.c:htx_sl_res_code
Unexecuted instantiation: flt_http_comp.c:htx_sl_res_code
Unexecuted instantiation: frontend.c:htx_sl_res_code
Unexecuted instantiation: haterm.c:htx_sl_res_code
Unexecuted instantiation: http_ana.c:htx_sl_res_code
Unexecuted instantiation: http_ext.c:htx_sl_res_code
Unexecuted instantiation: http_fetch.c:htx_sl_res_code
Unexecuted instantiation: payload.c:htx_sl_res_code
Unexecuted instantiation: stats-html.c:htx_sl_res_code
Unexecuted instantiation: stats-json.c:htx_sl_res_code
Unexecuted instantiation: cache.c:htx_sl_res_code
Unexecuted instantiation: fcgi-app.c:htx_sl_res_code
Unexecuted instantiation: flt_spoe.c:htx_sl_res_code
142
143
static inline struct ist htx_sl_res_reason(const struct htx_sl *sl)
144
0
{
145
0
  return htx_sl_p3(sl);
146
0
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_sl_res_reason
Unexecuted instantiation: debug.c:htx_sl_res_reason
Unexecuted instantiation: h1_htx.c:htx_sl_res_reason
Unexecuted instantiation: haproxy.c:htx_sl_res_reason
Unexecuted instantiation: http_htx.c:htx_sl_res_reason
Unexecuted instantiation: htx.c:htx_sl_res_reason
Unexecuted instantiation: log.c:htx_sl_res_reason
Unexecuted instantiation: mworker.c:htx_sl_res_reason
Unexecuted instantiation: peers.c:htx_sl_res_reason
Unexecuted instantiation: pool.c:htx_sl_res_reason
Unexecuted instantiation: proxy.c:htx_sl_res_reason
Unexecuted instantiation: resolvers.c:htx_sl_res_reason
Unexecuted instantiation: ring.c:htx_sl_res_reason
Unexecuted instantiation: sample.c:htx_sl_res_reason
Unexecuted instantiation: server.c:htx_sl_res_reason
Unexecuted instantiation: sink.c:htx_sl_res_reason
Unexecuted instantiation: stats.c:htx_sl_res_reason
Unexecuted instantiation: stconn.c:htx_sl_res_reason
Unexecuted instantiation: stick_table.c:htx_sl_res_reason
Unexecuted instantiation: stream.c:htx_sl_res_reason
Unexecuted instantiation: tcp_rules.c:htx_sl_res_reason
Unexecuted instantiation: tcpcheck.c:htx_sl_res_reason
Unexecuted instantiation: tools.c:htx_sl_res_reason
Unexecuted instantiation: trace.c:htx_sl_res_reason
Unexecuted instantiation: vars.c:htx_sl_res_reason
Unexecuted instantiation: activity.c:htx_sl_res_reason
Unexecuted instantiation: applet.c:htx_sl_res_reason
Unexecuted instantiation: backend.c:htx_sl_res_reason
Unexecuted instantiation: cfgparse.c:htx_sl_res_reason
Unexecuted instantiation: channel.c:htx_sl_res_reason
Unexecuted instantiation: check.c:htx_sl_res_reason
Unexecuted instantiation: cli.c:htx_sl_res_reason
Unexecuted instantiation: connection.c:htx_sl_res_reason
Unexecuted instantiation: dns.c:htx_sl_res_reason
Unexecuted instantiation: dns_ring.c:htx_sl_res_reason
Unexecuted instantiation: errors.c:htx_sl_res_reason
Unexecuted instantiation: filters.c:htx_sl_res_reason
Unexecuted instantiation: flt_http_comp.c:htx_sl_res_reason
Unexecuted instantiation: frontend.c:htx_sl_res_reason
Unexecuted instantiation: haterm.c:htx_sl_res_reason
Unexecuted instantiation: http_ana.c:htx_sl_res_reason
Unexecuted instantiation: http_ext.c:htx_sl_res_reason
Unexecuted instantiation: http_fetch.c:htx_sl_res_reason
Unexecuted instantiation: payload.c:htx_sl_res_reason
Unexecuted instantiation: stats-html.c:htx_sl_res_reason
Unexecuted instantiation: stats-json.c:htx_sl_res_reason
Unexecuted instantiation: cache.c:htx_sl_res_reason
Unexecuted instantiation: fcgi-app.c:htx_sl_res_reason
Unexecuted instantiation: flt_spoe.c:htx_sl_res_reason
147
148
/* Converts a position to the corresponding relative address */
149
static inline uint32_t htx_pos_to_addr(const struct htx *htx, uint32_t pos)
150
59.5k
{
151
59.5k
  return htx->size - (pos + 1) * sizeof(struct htx_blk);
152
59.5k
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_pos_to_addr
Unexecuted instantiation: debug.c:htx_pos_to_addr
h1_htx.c:htx_pos_to_addr
Line
Count
Source
150
12.4k
{
151
12.4k
  return htx->size - (pos + 1) * sizeof(struct htx_blk);
152
12.4k
}
Unexecuted instantiation: haproxy.c:htx_pos_to_addr
http_htx.c:htx_pos_to_addr
Line
Count
Source
150
13
{
151
13
  return htx->size - (pos + 1) * sizeof(struct htx_blk);
152
13
}
htx.c:htx_pos_to_addr
Line
Count
Source
150
47.0k
{
151
47.0k
  return htx->size - (pos + 1) * sizeof(struct htx_blk);
152
47.0k
}
Unexecuted instantiation: log.c:htx_pos_to_addr
Unexecuted instantiation: mworker.c:htx_pos_to_addr
Unexecuted instantiation: peers.c:htx_pos_to_addr
Unexecuted instantiation: pool.c:htx_pos_to_addr
Unexecuted instantiation: proxy.c:htx_pos_to_addr
Unexecuted instantiation: resolvers.c:htx_pos_to_addr
Unexecuted instantiation: ring.c:htx_pos_to_addr
Unexecuted instantiation: sample.c:htx_pos_to_addr
Unexecuted instantiation: server.c:htx_pos_to_addr
Unexecuted instantiation: sink.c:htx_pos_to_addr
Unexecuted instantiation: stats.c:htx_pos_to_addr
Unexecuted instantiation: stconn.c:htx_pos_to_addr
Unexecuted instantiation: stick_table.c:htx_pos_to_addr
Unexecuted instantiation: stream.c:htx_pos_to_addr
Unexecuted instantiation: tcp_rules.c:htx_pos_to_addr
Unexecuted instantiation: tcpcheck.c:htx_pos_to_addr
Unexecuted instantiation: tools.c:htx_pos_to_addr
Unexecuted instantiation: trace.c:htx_pos_to_addr
Unexecuted instantiation: vars.c:htx_pos_to_addr
Unexecuted instantiation: activity.c:htx_pos_to_addr
Unexecuted instantiation: applet.c:htx_pos_to_addr
Unexecuted instantiation: backend.c:htx_pos_to_addr
Unexecuted instantiation: cfgparse.c:htx_pos_to_addr
Unexecuted instantiation: channel.c:htx_pos_to_addr
Unexecuted instantiation: check.c:htx_pos_to_addr
Unexecuted instantiation: cli.c:htx_pos_to_addr
Unexecuted instantiation: connection.c:htx_pos_to_addr
Unexecuted instantiation: dns.c:htx_pos_to_addr
Unexecuted instantiation: dns_ring.c:htx_pos_to_addr
Unexecuted instantiation: errors.c:htx_pos_to_addr
Unexecuted instantiation: filters.c:htx_pos_to_addr
Unexecuted instantiation: flt_http_comp.c:htx_pos_to_addr
Unexecuted instantiation: frontend.c:htx_pos_to_addr
Unexecuted instantiation: haterm.c:htx_pos_to_addr
Unexecuted instantiation: http_ana.c:htx_pos_to_addr
Unexecuted instantiation: http_ext.c:htx_pos_to_addr
Unexecuted instantiation: http_fetch.c:htx_pos_to_addr
Unexecuted instantiation: payload.c:htx_pos_to_addr
Unexecuted instantiation: stats-html.c:htx_pos_to_addr
Unexecuted instantiation: stats-json.c:htx_pos_to_addr
Unexecuted instantiation: cache.c:htx_pos_to_addr
Unexecuted instantiation: fcgi-app.c:htx_pos_to_addr
Unexecuted instantiation: flt_spoe.c:htx_pos_to_addr
153
154
/* Returns the position of the block <blk>. It is the caller responsibility to
155
 * be sure <blk> is part of <htx>. */
156
static inline uint32_t htx_get_blk_pos(const struct htx *htx, const struct htx_blk *blk)
157
372
{
158
372
  return ((htx->blocks + htx->size - (char *)blk) / sizeof(struct htx_blk) - 1);
159
372
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_get_blk_pos
Unexecuted instantiation: debug.c:htx_get_blk_pos
Unexecuted instantiation: h1_htx.c:htx_get_blk_pos
Unexecuted instantiation: haproxy.c:htx_get_blk_pos
Unexecuted instantiation: http_htx.c:htx_get_blk_pos
htx.c:htx_get_blk_pos
Line
Count
Source
157
372
{
158
372
  return ((htx->blocks + htx->size - (char *)blk) / sizeof(struct htx_blk) - 1);
159
372
}
Unexecuted instantiation: log.c:htx_get_blk_pos
Unexecuted instantiation: mworker.c:htx_get_blk_pos
Unexecuted instantiation: peers.c:htx_get_blk_pos
Unexecuted instantiation: pool.c:htx_get_blk_pos
Unexecuted instantiation: proxy.c:htx_get_blk_pos
Unexecuted instantiation: resolvers.c:htx_get_blk_pos
Unexecuted instantiation: ring.c:htx_get_blk_pos
Unexecuted instantiation: sample.c:htx_get_blk_pos
Unexecuted instantiation: server.c:htx_get_blk_pos
Unexecuted instantiation: sink.c:htx_get_blk_pos
Unexecuted instantiation: stats.c:htx_get_blk_pos
Unexecuted instantiation: stconn.c:htx_get_blk_pos
Unexecuted instantiation: stick_table.c:htx_get_blk_pos
Unexecuted instantiation: stream.c:htx_get_blk_pos
Unexecuted instantiation: tcp_rules.c:htx_get_blk_pos
Unexecuted instantiation: tcpcheck.c:htx_get_blk_pos
Unexecuted instantiation: tools.c:htx_get_blk_pos
Unexecuted instantiation: trace.c:htx_get_blk_pos
Unexecuted instantiation: vars.c:htx_get_blk_pos
Unexecuted instantiation: activity.c:htx_get_blk_pos
Unexecuted instantiation: applet.c:htx_get_blk_pos
Unexecuted instantiation: backend.c:htx_get_blk_pos
Unexecuted instantiation: cfgparse.c:htx_get_blk_pos
Unexecuted instantiation: channel.c:htx_get_blk_pos
Unexecuted instantiation: check.c:htx_get_blk_pos
Unexecuted instantiation: cli.c:htx_get_blk_pos
Unexecuted instantiation: connection.c:htx_get_blk_pos
Unexecuted instantiation: dns.c:htx_get_blk_pos
Unexecuted instantiation: dns_ring.c:htx_get_blk_pos
Unexecuted instantiation: errors.c:htx_get_blk_pos
Unexecuted instantiation: filters.c:htx_get_blk_pos
Unexecuted instantiation: flt_http_comp.c:htx_get_blk_pos
Unexecuted instantiation: frontend.c:htx_get_blk_pos
Unexecuted instantiation: haterm.c:htx_get_blk_pos
Unexecuted instantiation: http_ana.c:htx_get_blk_pos
Unexecuted instantiation: http_ext.c:htx_get_blk_pos
Unexecuted instantiation: http_fetch.c:htx_get_blk_pos
Unexecuted instantiation: payload.c:htx_get_blk_pos
Unexecuted instantiation: stats-html.c:htx_get_blk_pos
Unexecuted instantiation: stats-json.c:htx_get_blk_pos
Unexecuted instantiation: cache.c:htx_get_blk_pos
Unexecuted instantiation: fcgi-app.c:htx_get_blk_pos
Unexecuted instantiation: flt_spoe.c:htx_get_blk_pos
160
161
/* Returns the block at the position <pos>. It is the caller responsibility to
162
 * be sure the block at the position <pos> exists. */
163
static inline struct htx_blk *htx_get_blk(const struct htx *htx, uint32_t pos)
164
29.7k
{
165
29.7k
  return (struct htx_blk *)(htx->blocks + htx_pos_to_addr(htx, pos));
166
29.7k
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_get_blk
Unexecuted instantiation: debug.c:htx_get_blk
h1_htx.c:htx_get_blk
Line
Count
Source
164
12.4k
{
165
12.4k
  return (struct htx_blk *)(htx->blocks + htx_pos_to_addr(htx, pos));
166
12.4k
}
Unexecuted instantiation: haproxy.c:htx_get_blk
http_htx.c:htx_get_blk
Line
Count
Source
164
13
{
165
13
  return (struct htx_blk *)(htx->blocks + htx_pos_to_addr(htx, pos));
166
13
}
htx.c:htx_get_blk
Line
Count
Source
164
17.3k
{
165
17.3k
  return (struct htx_blk *)(htx->blocks + htx_pos_to_addr(htx, pos));
166
17.3k
}
Unexecuted instantiation: log.c:htx_get_blk
Unexecuted instantiation: mworker.c:htx_get_blk
Unexecuted instantiation: peers.c:htx_get_blk
Unexecuted instantiation: pool.c:htx_get_blk
Unexecuted instantiation: proxy.c:htx_get_blk
Unexecuted instantiation: resolvers.c:htx_get_blk
Unexecuted instantiation: ring.c:htx_get_blk
Unexecuted instantiation: sample.c:htx_get_blk
Unexecuted instantiation: server.c:htx_get_blk
Unexecuted instantiation: sink.c:htx_get_blk
Unexecuted instantiation: stats.c:htx_get_blk
Unexecuted instantiation: stconn.c:htx_get_blk
Unexecuted instantiation: stick_table.c:htx_get_blk
Unexecuted instantiation: stream.c:htx_get_blk
Unexecuted instantiation: tcp_rules.c:htx_get_blk
Unexecuted instantiation: tcpcheck.c:htx_get_blk
Unexecuted instantiation: tools.c:htx_get_blk
Unexecuted instantiation: trace.c:htx_get_blk
Unexecuted instantiation: vars.c:htx_get_blk
Unexecuted instantiation: activity.c:htx_get_blk
Unexecuted instantiation: applet.c:htx_get_blk
Unexecuted instantiation: backend.c:htx_get_blk
Unexecuted instantiation: cfgparse.c:htx_get_blk
Unexecuted instantiation: channel.c:htx_get_blk
Unexecuted instantiation: check.c:htx_get_blk
Unexecuted instantiation: cli.c:htx_get_blk
Unexecuted instantiation: connection.c:htx_get_blk
Unexecuted instantiation: dns.c:htx_get_blk
Unexecuted instantiation: dns_ring.c:htx_get_blk
Unexecuted instantiation: errors.c:htx_get_blk
Unexecuted instantiation: filters.c:htx_get_blk
Unexecuted instantiation: flt_http_comp.c:htx_get_blk
Unexecuted instantiation: frontend.c:htx_get_blk
Unexecuted instantiation: haterm.c:htx_get_blk
Unexecuted instantiation: http_ana.c:htx_get_blk
Unexecuted instantiation: http_ext.c:htx_get_blk
Unexecuted instantiation: http_fetch.c:htx_get_blk
Unexecuted instantiation: payload.c:htx_get_blk
Unexecuted instantiation: stats-html.c:htx_get_blk
Unexecuted instantiation: stats-json.c:htx_get_blk
Unexecuted instantiation: cache.c:htx_get_blk
Unexecuted instantiation: fcgi-app.c:htx_get_blk
Unexecuted instantiation: flt_spoe.c:htx_get_blk
167
168
/* Returns the type of the block <blk> */
169
static inline enum htx_blk_type htx_get_blk_type(const struct htx_blk *blk)
170
17.7k
{
171
17.7k
  return (blk->info >> 28);
172
17.7k
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_get_blk_type
Unexecuted instantiation: debug.c:htx_get_blk_type
h1_htx.c:htx_get_blk_type
Line
Count
Source
170
13.9k
{
171
13.9k
  return (blk->info >> 28);
172
13.9k
}
Unexecuted instantiation: haproxy.c:htx_get_blk_type
http_htx.c:htx_get_blk_type
Line
Count
Source
170
13
{
171
13
  return (blk->info >> 28);
172
13
}
htx.c:htx_get_blk_type
Line
Count
Source
170
3.78k
{
171
3.78k
  return (blk->info >> 28);
172
3.78k
}
Unexecuted instantiation: log.c:htx_get_blk_type
Unexecuted instantiation: mworker.c:htx_get_blk_type
Unexecuted instantiation: peers.c:htx_get_blk_type
Unexecuted instantiation: pool.c:htx_get_blk_type
Unexecuted instantiation: proxy.c:htx_get_blk_type
Unexecuted instantiation: resolvers.c:htx_get_blk_type
Unexecuted instantiation: ring.c:htx_get_blk_type
Unexecuted instantiation: sample.c:htx_get_blk_type
Unexecuted instantiation: server.c:htx_get_blk_type
Unexecuted instantiation: sink.c:htx_get_blk_type
Unexecuted instantiation: stats.c:htx_get_blk_type
Unexecuted instantiation: stconn.c:htx_get_blk_type
Unexecuted instantiation: stick_table.c:htx_get_blk_type
Unexecuted instantiation: stream.c:htx_get_blk_type
Unexecuted instantiation: tcp_rules.c:htx_get_blk_type
Unexecuted instantiation: tcpcheck.c:htx_get_blk_type
Unexecuted instantiation: tools.c:htx_get_blk_type
Unexecuted instantiation: trace.c:htx_get_blk_type
Unexecuted instantiation: vars.c:htx_get_blk_type
Unexecuted instantiation: activity.c:htx_get_blk_type
Unexecuted instantiation: applet.c:htx_get_blk_type
Unexecuted instantiation: backend.c:htx_get_blk_type
Unexecuted instantiation: cfgparse.c:htx_get_blk_type
Unexecuted instantiation: channel.c:htx_get_blk_type
Unexecuted instantiation: check.c:htx_get_blk_type
Unexecuted instantiation: cli.c:htx_get_blk_type
Unexecuted instantiation: connection.c:htx_get_blk_type
Unexecuted instantiation: dns.c:htx_get_blk_type
Unexecuted instantiation: dns_ring.c:htx_get_blk_type
Unexecuted instantiation: errors.c:htx_get_blk_type
Unexecuted instantiation: filters.c:htx_get_blk_type
Unexecuted instantiation: flt_http_comp.c:htx_get_blk_type
Unexecuted instantiation: frontend.c:htx_get_blk_type
Unexecuted instantiation: haterm.c:htx_get_blk_type
Unexecuted instantiation: http_ana.c:htx_get_blk_type
Unexecuted instantiation: http_ext.c:htx_get_blk_type
Unexecuted instantiation: http_fetch.c:htx_get_blk_type
Unexecuted instantiation: payload.c:htx_get_blk_type
Unexecuted instantiation: stats-html.c:htx_get_blk_type
Unexecuted instantiation: stats-json.c:htx_get_blk_type
Unexecuted instantiation: cache.c:htx_get_blk_type
Unexecuted instantiation: fcgi-app.c:htx_get_blk_type
Unexecuted instantiation: flt_spoe.c:htx_get_blk_type
173
174
/* Returns the size of the block <blk>, depending of its type */
175
static inline uint32_t htx_get_blksz(const struct htx_blk *blk)
176
2.38k
{
177
2.38k
  enum htx_blk_type type = htx_get_blk_type(blk);
178
179
2.38k
  switch (type) {
180
0
    case HTX_BLK_HDR:
181
0
    case HTX_BLK_TLR:
182
      /*       name.length       +        value.length        */
183
0
      return ((blk->info & 0xff) + ((blk->info >> 8) & 0xfffff));
184
2.38k
    default:
185
      /*         value.length      */
186
2.38k
      return (blk->info & 0xfffffff);
187
2.38k
  }
188
2.38k
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_get_blksz
Unexecuted instantiation: debug.c:htx_get_blksz
h1_htx.c:htx_get_blksz
Line
Count
Source
176
1.38k
{
177
1.38k
  enum htx_blk_type type = htx_get_blk_type(blk);
178
179
1.38k
  switch (type) {
180
0
    case HTX_BLK_HDR:
181
0
    case HTX_BLK_TLR:
182
      /*       name.length       +        value.length        */
183
0
      return ((blk->info & 0xff) + ((blk->info >> 8) & 0xfffff));
184
1.38k
    default:
185
      /*         value.length      */
186
1.38k
      return (blk->info & 0xfffffff);
187
1.38k
  }
188
1.38k
}
Unexecuted instantiation: haproxy.c:htx_get_blksz
Unexecuted instantiation: http_htx.c:htx_get_blksz
htx.c:htx_get_blksz
Line
Count
Source
176
1.00k
{
177
1.00k
  enum htx_blk_type type = htx_get_blk_type(blk);
178
179
1.00k
  switch (type) {
180
0
    case HTX_BLK_HDR:
181
0
    case HTX_BLK_TLR:
182
      /*       name.length       +        value.length        */
183
0
      return ((blk->info & 0xff) + ((blk->info >> 8) & 0xfffff));
184
1.00k
    default:
185
      /*         value.length      */
186
1.00k
      return (blk->info & 0xfffffff);
187
1.00k
  }
188
1.00k
}
Unexecuted instantiation: log.c:htx_get_blksz
Unexecuted instantiation: mworker.c:htx_get_blksz
Unexecuted instantiation: peers.c:htx_get_blksz
Unexecuted instantiation: pool.c:htx_get_blksz
Unexecuted instantiation: proxy.c:htx_get_blksz
Unexecuted instantiation: resolvers.c:htx_get_blksz
Unexecuted instantiation: ring.c:htx_get_blksz
Unexecuted instantiation: sample.c:htx_get_blksz
Unexecuted instantiation: server.c:htx_get_blksz
Unexecuted instantiation: sink.c:htx_get_blksz
Unexecuted instantiation: stats.c:htx_get_blksz
Unexecuted instantiation: stconn.c:htx_get_blksz
Unexecuted instantiation: stick_table.c:htx_get_blksz
Unexecuted instantiation: stream.c:htx_get_blksz
Unexecuted instantiation: tcp_rules.c:htx_get_blksz
Unexecuted instantiation: tcpcheck.c:htx_get_blksz
Unexecuted instantiation: tools.c:htx_get_blksz
Unexecuted instantiation: trace.c:htx_get_blksz
Unexecuted instantiation: vars.c:htx_get_blksz
Unexecuted instantiation: activity.c:htx_get_blksz
Unexecuted instantiation: applet.c:htx_get_blksz
Unexecuted instantiation: backend.c:htx_get_blksz
Unexecuted instantiation: cfgparse.c:htx_get_blksz
Unexecuted instantiation: channel.c:htx_get_blksz
Unexecuted instantiation: check.c:htx_get_blksz
Unexecuted instantiation: cli.c:htx_get_blksz
Unexecuted instantiation: connection.c:htx_get_blksz
Unexecuted instantiation: dns.c:htx_get_blksz
Unexecuted instantiation: dns_ring.c:htx_get_blksz
Unexecuted instantiation: errors.c:htx_get_blksz
Unexecuted instantiation: filters.c:htx_get_blksz
Unexecuted instantiation: flt_http_comp.c:htx_get_blksz
Unexecuted instantiation: frontend.c:htx_get_blksz
Unexecuted instantiation: haterm.c:htx_get_blksz
Unexecuted instantiation: http_ana.c:htx_get_blksz
Unexecuted instantiation: http_ext.c:htx_get_blksz
Unexecuted instantiation: http_fetch.c:htx_get_blksz
Unexecuted instantiation: payload.c:htx_get_blksz
Unexecuted instantiation: stats-html.c:htx_get_blksz
Unexecuted instantiation: stats-json.c:htx_get_blksz
Unexecuted instantiation: cache.c:htx_get_blksz
Unexecuted instantiation: fcgi-app.c:htx_get_blksz
Unexecuted instantiation: flt_spoe.c:htx_get_blksz
189
190
/* Returns the position of the oldest entry (head). It returns a signed 32-bits
191
 * integer, -1 means the HTX message is empty.
192
 */
193
static inline int32_t htx_get_head(const struct htx *htx)
194
0
{
195
0
  return htx->head;
196
0
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_get_head
Unexecuted instantiation: debug.c:htx_get_head
Unexecuted instantiation: h1_htx.c:htx_get_head
Unexecuted instantiation: haproxy.c:htx_get_head
Unexecuted instantiation: http_htx.c:htx_get_head
Unexecuted instantiation: htx.c:htx_get_head
Unexecuted instantiation: log.c:htx_get_head
Unexecuted instantiation: mworker.c:htx_get_head
Unexecuted instantiation: peers.c:htx_get_head
Unexecuted instantiation: pool.c:htx_get_head
Unexecuted instantiation: proxy.c:htx_get_head
Unexecuted instantiation: resolvers.c:htx_get_head
Unexecuted instantiation: ring.c:htx_get_head
Unexecuted instantiation: sample.c:htx_get_head
Unexecuted instantiation: server.c:htx_get_head
Unexecuted instantiation: sink.c:htx_get_head
Unexecuted instantiation: stats.c:htx_get_head
Unexecuted instantiation: stconn.c:htx_get_head
Unexecuted instantiation: stick_table.c:htx_get_head
Unexecuted instantiation: stream.c:htx_get_head
Unexecuted instantiation: tcp_rules.c:htx_get_head
Unexecuted instantiation: tcpcheck.c:htx_get_head
Unexecuted instantiation: tools.c:htx_get_head
Unexecuted instantiation: trace.c:htx_get_head
Unexecuted instantiation: vars.c:htx_get_head
Unexecuted instantiation: activity.c:htx_get_head
Unexecuted instantiation: applet.c:htx_get_head
Unexecuted instantiation: backend.c:htx_get_head
Unexecuted instantiation: cfgparse.c:htx_get_head
Unexecuted instantiation: channel.c:htx_get_head
Unexecuted instantiation: check.c:htx_get_head
Unexecuted instantiation: cli.c:htx_get_head
Unexecuted instantiation: connection.c:htx_get_head
Unexecuted instantiation: dns.c:htx_get_head
Unexecuted instantiation: dns_ring.c:htx_get_head
Unexecuted instantiation: errors.c:htx_get_head
Unexecuted instantiation: filters.c:htx_get_head
Unexecuted instantiation: flt_http_comp.c:htx_get_head
Unexecuted instantiation: frontend.c:htx_get_head
Unexecuted instantiation: haterm.c:htx_get_head
Unexecuted instantiation: http_ana.c:htx_get_head
Unexecuted instantiation: http_ext.c:htx_get_head
Unexecuted instantiation: http_fetch.c:htx_get_head
Unexecuted instantiation: payload.c:htx_get_head
Unexecuted instantiation: stats-html.c:htx_get_head
Unexecuted instantiation: stats-json.c:htx_get_head
Unexecuted instantiation: cache.c:htx_get_head
Unexecuted instantiation: fcgi-app.c:htx_get_head
Unexecuted instantiation: flt_spoe.c:htx_get_head
197
198
/* Returns the oldest HTX block (head) if the HTX message is not
199
 * empty. Otherwise it returns NULL.
200
 */
201
static inline struct htx_blk *htx_get_head_blk(const struct htx *htx)
202
0
{
203
0
  int32_t head = htx_get_head(htx);
204
205
0
  return ((head == -1) ? NULL : htx_get_blk(htx, head));
206
0
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_get_head_blk
Unexecuted instantiation: debug.c:htx_get_head_blk
Unexecuted instantiation: h1_htx.c:htx_get_head_blk
Unexecuted instantiation: haproxy.c:htx_get_head_blk
Unexecuted instantiation: http_htx.c:htx_get_head_blk
Unexecuted instantiation: htx.c:htx_get_head_blk
Unexecuted instantiation: log.c:htx_get_head_blk
Unexecuted instantiation: mworker.c:htx_get_head_blk
Unexecuted instantiation: peers.c:htx_get_head_blk
Unexecuted instantiation: pool.c:htx_get_head_blk
Unexecuted instantiation: proxy.c:htx_get_head_blk
Unexecuted instantiation: resolvers.c:htx_get_head_blk
Unexecuted instantiation: ring.c:htx_get_head_blk
Unexecuted instantiation: sample.c:htx_get_head_blk
Unexecuted instantiation: server.c:htx_get_head_blk
Unexecuted instantiation: sink.c:htx_get_head_blk
Unexecuted instantiation: stats.c:htx_get_head_blk
Unexecuted instantiation: stconn.c:htx_get_head_blk
Unexecuted instantiation: stick_table.c:htx_get_head_blk
Unexecuted instantiation: stream.c:htx_get_head_blk
Unexecuted instantiation: tcp_rules.c:htx_get_head_blk
Unexecuted instantiation: tcpcheck.c:htx_get_head_blk
Unexecuted instantiation: tools.c:htx_get_head_blk
Unexecuted instantiation: trace.c:htx_get_head_blk
Unexecuted instantiation: vars.c:htx_get_head_blk
Unexecuted instantiation: activity.c:htx_get_head_blk
Unexecuted instantiation: applet.c:htx_get_head_blk
Unexecuted instantiation: backend.c:htx_get_head_blk
Unexecuted instantiation: cfgparse.c:htx_get_head_blk
Unexecuted instantiation: channel.c:htx_get_head_blk
Unexecuted instantiation: check.c:htx_get_head_blk
Unexecuted instantiation: cli.c:htx_get_head_blk
Unexecuted instantiation: connection.c:htx_get_head_blk
Unexecuted instantiation: dns.c:htx_get_head_blk
Unexecuted instantiation: dns_ring.c:htx_get_head_blk
Unexecuted instantiation: errors.c:htx_get_head_blk
Unexecuted instantiation: filters.c:htx_get_head_blk
Unexecuted instantiation: flt_http_comp.c:htx_get_head_blk
Unexecuted instantiation: frontend.c:htx_get_head_blk
Unexecuted instantiation: haterm.c:htx_get_head_blk
Unexecuted instantiation: http_ana.c:htx_get_head_blk
Unexecuted instantiation: http_ext.c:htx_get_head_blk
Unexecuted instantiation: http_fetch.c:htx_get_head_blk
Unexecuted instantiation: payload.c:htx_get_head_blk
Unexecuted instantiation: stats-html.c:htx_get_head_blk
Unexecuted instantiation: stats-json.c:htx_get_head_blk
Unexecuted instantiation: cache.c:htx_get_head_blk
Unexecuted instantiation: fcgi-app.c:htx_get_head_blk
Unexecuted instantiation: flt_spoe.c:htx_get_head_blk
207
208
/* same as above but unchecked, may only be used when certain that a block
209
 * exists.
210
 */
211
static inline struct htx_blk *__htx_get_head_blk(const struct htx *htx)
212
0
{
213
0
  int32_t head = htx_get_head(htx);
214
215
0
  return htx_get_blk(htx, head);
216
0
}
Unexecuted instantiation: fuzz_h1_htx.c:__htx_get_head_blk
Unexecuted instantiation: debug.c:__htx_get_head_blk
Unexecuted instantiation: h1_htx.c:__htx_get_head_blk
Unexecuted instantiation: haproxy.c:__htx_get_head_blk
Unexecuted instantiation: http_htx.c:__htx_get_head_blk
Unexecuted instantiation: htx.c:__htx_get_head_blk
Unexecuted instantiation: log.c:__htx_get_head_blk
Unexecuted instantiation: mworker.c:__htx_get_head_blk
Unexecuted instantiation: peers.c:__htx_get_head_blk
Unexecuted instantiation: pool.c:__htx_get_head_blk
Unexecuted instantiation: proxy.c:__htx_get_head_blk
Unexecuted instantiation: resolvers.c:__htx_get_head_blk
Unexecuted instantiation: ring.c:__htx_get_head_blk
Unexecuted instantiation: sample.c:__htx_get_head_blk
Unexecuted instantiation: server.c:__htx_get_head_blk
Unexecuted instantiation: sink.c:__htx_get_head_blk
Unexecuted instantiation: stats.c:__htx_get_head_blk
Unexecuted instantiation: stconn.c:__htx_get_head_blk
Unexecuted instantiation: stick_table.c:__htx_get_head_blk
Unexecuted instantiation: stream.c:__htx_get_head_blk
Unexecuted instantiation: tcp_rules.c:__htx_get_head_blk
Unexecuted instantiation: tcpcheck.c:__htx_get_head_blk
Unexecuted instantiation: tools.c:__htx_get_head_blk
Unexecuted instantiation: trace.c:__htx_get_head_blk
Unexecuted instantiation: vars.c:__htx_get_head_blk
Unexecuted instantiation: activity.c:__htx_get_head_blk
Unexecuted instantiation: applet.c:__htx_get_head_blk
Unexecuted instantiation: backend.c:__htx_get_head_blk
Unexecuted instantiation: cfgparse.c:__htx_get_head_blk
Unexecuted instantiation: channel.c:__htx_get_head_blk
Unexecuted instantiation: check.c:__htx_get_head_blk
Unexecuted instantiation: cli.c:__htx_get_head_blk
Unexecuted instantiation: connection.c:__htx_get_head_blk
Unexecuted instantiation: dns.c:__htx_get_head_blk
Unexecuted instantiation: dns_ring.c:__htx_get_head_blk
Unexecuted instantiation: errors.c:__htx_get_head_blk
Unexecuted instantiation: filters.c:__htx_get_head_blk
Unexecuted instantiation: flt_http_comp.c:__htx_get_head_blk
Unexecuted instantiation: frontend.c:__htx_get_head_blk
Unexecuted instantiation: haterm.c:__htx_get_head_blk
Unexecuted instantiation: http_ana.c:__htx_get_head_blk
Unexecuted instantiation: http_ext.c:__htx_get_head_blk
Unexecuted instantiation: http_fetch.c:__htx_get_head_blk
Unexecuted instantiation: payload.c:__htx_get_head_blk
Unexecuted instantiation: stats-html.c:__htx_get_head_blk
Unexecuted instantiation: stats-json.c:__htx_get_head_blk
Unexecuted instantiation: cache.c:__htx_get_head_blk
Unexecuted instantiation: fcgi-app.c:__htx_get_head_blk
Unexecuted instantiation: flt_spoe.c:__htx_get_head_blk
217
218
/* Returns the type of the oldest HTX block (head) if the HTX message is not
219
 * empty. Otherwise it returns HTX_BLK_UNUSED.
220
 */
221
static inline enum htx_blk_type htx_get_head_type(const struct htx *htx)
222
0
{
223
0
  struct htx_blk *blk = htx_get_head_blk(htx);
224
225
0
  return (blk ? htx_get_blk_type(blk) : HTX_BLK_UNUSED);
226
0
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_get_head_type
Unexecuted instantiation: debug.c:htx_get_head_type
Unexecuted instantiation: h1_htx.c:htx_get_head_type
Unexecuted instantiation: haproxy.c:htx_get_head_type
Unexecuted instantiation: http_htx.c:htx_get_head_type
Unexecuted instantiation: htx.c:htx_get_head_type
Unexecuted instantiation: log.c:htx_get_head_type
Unexecuted instantiation: mworker.c:htx_get_head_type
Unexecuted instantiation: peers.c:htx_get_head_type
Unexecuted instantiation: pool.c:htx_get_head_type
Unexecuted instantiation: proxy.c:htx_get_head_type
Unexecuted instantiation: resolvers.c:htx_get_head_type
Unexecuted instantiation: ring.c:htx_get_head_type
Unexecuted instantiation: sample.c:htx_get_head_type
Unexecuted instantiation: server.c:htx_get_head_type
Unexecuted instantiation: sink.c:htx_get_head_type
Unexecuted instantiation: stats.c:htx_get_head_type
Unexecuted instantiation: stconn.c:htx_get_head_type
Unexecuted instantiation: stick_table.c:htx_get_head_type
Unexecuted instantiation: stream.c:htx_get_head_type
Unexecuted instantiation: tcp_rules.c:htx_get_head_type
Unexecuted instantiation: tcpcheck.c:htx_get_head_type
Unexecuted instantiation: tools.c:htx_get_head_type
Unexecuted instantiation: trace.c:htx_get_head_type
Unexecuted instantiation: vars.c:htx_get_head_type
Unexecuted instantiation: activity.c:htx_get_head_type
Unexecuted instantiation: applet.c:htx_get_head_type
Unexecuted instantiation: backend.c:htx_get_head_type
Unexecuted instantiation: cfgparse.c:htx_get_head_type
Unexecuted instantiation: channel.c:htx_get_head_type
Unexecuted instantiation: check.c:htx_get_head_type
Unexecuted instantiation: cli.c:htx_get_head_type
Unexecuted instantiation: connection.c:htx_get_head_type
Unexecuted instantiation: dns.c:htx_get_head_type
Unexecuted instantiation: dns_ring.c:htx_get_head_type
Unexecuted instantiation: errors.c:htx_get_head_type
Unexecuted instantiation: filters.c:htx_get_head_type
Unexecuted instantiation: flt_http_comp.c:htx_get_head_type
Unexecuted instantiation: frontend.c:htx_get_head_type
Unexecuted instantiation: haterm.c:htx_get_head_type
Unexecuted instantiation: http_ana.c:htx_get_head_type
Unexecuted instantiation: http_ext.c:htx_get_head_type
Unexecuted instantiation: http_fetch.c:htx_get_head_type
Unexecuted instantiation: payload.c:htx_get_head_type
Unexecuted instantiation: stats-html.c:htx_get_head_type
Unexecuted instantiation: stats-json.c:htx_get_head_type
Unexecuted instantiation: cache.c:htx_get_head_type
Unexecuted instantiation: fcgi-app.c:htx_get_head_type
Unexecuted instantiation: flt_spoe.c:htx_get_head_type
227
228
/* Returns the position of the newest entry (tail).  It returns a signed 32-bits
229
 * integer, -1 means the HTX message is empty.
230
 */
231
static inline int32_t htx_get_tail(const struct htx *htx)
232
13.6k
{
233
13.6k
  return htx->tail;
234
13.6k
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_get_tail
Unexecuted instantiation: debug.c:htx_get_tail
h1_htx.c:htx_get_tail
Line
Count
Source
232
12.4k
{
233
12.4k
  return htx->tail;
234
12.4k
}
Unexecuted instantiation: haproxy.c:htx_get_tail
Unexecuted instantiation: http_htx.c:htx_get_tail
htx.c:htx_get_tail
Line
Count
Source
232
1.20k
{
233
1.20k
  return htx->tail;
234
1.20k
}
Unexecuted instantiation: log.c:htx_get_tail
Unexecuted instantiation: mworker.c:htx_get_tail
Unexecuted instantiation: peers.c:htx_get_tail
Unexecuted instantiation: pool.c:htx_get_tail
Unexecuted instantiation: proxy.c:htx_get_tail
Unexecuted instantiation: resolvers.c:htx_get_tail
Unexecuted instantiation: ring.c:htx_get_tail
Unexecuted instantiation: sample.c:htx_get_tail
Unexecuted instantiation: server.c:htx_get_tail
Unexecuted instantiation: sink.c:htx_get_tail
Unexecuted instantiation: stats.c:htx_get_tail
Unexecuted instantiation: stconn.c:htx_get_tail
Unexecuted instantiation: stick_table.c:htx_get_tail
Unexecuted instantiation: stream.c:htx_get_tail
Unexecuted instantiation: tcp_rules.c:htx_get_tail
Unexecuted instantiation: tcpcheck.c:htx_get_tail
Unexecuted instantiation: tools.c:htx_get_tail
Unexecuted instantiation: trace.c:htx_get_tail
Unexecuted instantiation: vars.c:htx_get_tail
Unexecuted instantiation: activity.c:htx_get_tail
Unexecuted instantiation: applet.c:htx_get_tail
Unexecuted instantiation: backend.c:htx_get_tail
Unexecuted instantiation: cfgparse.c:htx_get_tail
Unexecuted instantiation: channel.c:htx_get_tail
Unexecuted instantiation: check.c:htx_get_tail
Unexecuted instantiation: cli.c:htx_get_tail
Unexecuted instantiation: connection.c:htx_get_tail
Unexecuted instantiation: dns.c:htx_get_tail
Unexecuted instantiation: dns_ring.c:htx_get_tail
Unexecuted instantiation: errors.c:htx_get_tail
Unexecuted instantiation: filters.c:htx_get_tail
Unexecuted instantiation: flt_http_comp.c:htx_get_tail
Unexecuted instantiation: frontend.c:htx_get_tail
Unexecuted instantiation: haterm.c:htx_get_tail
Unexecuted instantiation: http_ana.c:htx_get_tail
Unexecuted instantiation: http_ext.c:htx_get_tail
Unexecuted instantiation: http_fetch.c:htx_get_tail
Unexecuted instantiation: payload.c:htx_get_tail
Unexecuted instantiation: stats-html.c:htx_get_tail
Unexecuted instantiation: stats-json.c:htx_get_tail
Unexecuted instantiation: cache.c:htx_get_tail
Unexecuted instantiation: fcgi-app.c:htx_get_tail
Unexecuted instantiation: flt_spoe.c:htx_get_tail
235
236
/* Returns the newest HTX block (tail) if the HTX message is not
237
 * empty. Otherwise it returns NULL.
238
 */
239
static inline struct htx_blk *htx_get_tail_blk(const struct htx *htx)
240
13.6k
{
241
13.6k
  int32_t tail = htx_get_tail(htx);
242
243
13.6k
  return ((tail == -1) ? NULL : htx_get_blk(htx, tail));
244
13.6k
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_get_tail_blk
Unexecuted instantiation: debug.c:htx_get_tail_blk
h1_htx.c:htx_get_tail_blk
Line
Count
Source
240
12.4k
{
241
12.4k
  int32_t tail = htx_get_tail(htx);
242
243
12.4k
  return ((tail == -1) ? NULL : htx_get_blk(htx, tail));
244
12.4k
}
Unexecuted instantiation: haproxy.c:htx_get_tail_blk
Unexecuted instantiation: http_htx.c:htx_get_tail_blk
htx.c:htx_get_tail_blk
Line
Count
Source
240
1.20k
{
241
1.20k
  int32_t tail = htx_get_tail(htx);
242
243
1.20k
  return ((tail == -1) ? NULL : htx_get_blk(htx, tail));
244
1.20k
}
Unexecuted instantiation: log.c:htx_get_tail_blk
Unexecuted instantiation: mworker.c:htx_get_tail_blk
Unexecuted instantiation: peers.c:htx_get_tail_blk
Unexecuted instantiation: pool.c:htx_get_tail_blk
Unexecuted instantiation: proxy.c:htx_get_tail_blk
Unexecuted instantiation: resolvers.c:htx_get_tail_blk
Unexecuted instantiation: ring.c:htx_get_tail_blk
Unexecuted instantiation: sample.c:htx_get_tail_blk
Unexecuted instantiation: server.c:htx_get_tail_blk
Unexecuted instantiation: sink.c:htx_get_tail_blk
Unexecuted instantiation: stats.c:htx_get_tail_blk
Unexecuted instantiation: stconn.c:htx_get_tail_blk
Unexecuted instantiation: stick_table.c:htx_get_tail_blk
Unexecuted instantiation: stream.c:htx_get_tail_blk
Unexecuted instantiation: tcp_rules.c:htx_get_tail_blk
Unexecuted instantiation: tcpcheck.c:htx_get_tail_blk
Unexecuted instantiation: tools.c:htx_get_tail_blk
Unexecuted instantiation: trace.c:htx_get_tail_blk
Unexecuted instantiation: vars.c:htx_get_tail_blk
Unexecuted instantiation: activity.c:htx_get_tail_blk
Unexecuted instantiation: applet.c:htx_get_tail_blk
Unexecuted instantiation: backend.c:htx_get_tail_blk
Unexecuted instantiation: cfgparse.c:htx_get_tail_blk
Unexecuted instantiation: channel.c:htx_get_tail_blk
Unexecuted instantiation: check.c:htx_get_tail_blk
Unexecuted instantiation: cli.c:htx_get_tail_blk
Unexecuted instantiation: connection.c:htx_get_tail_blk
Unexecuted instantiation: dns.c:htx_get_tail_blk
Unexecuted instantiation: dns_ring.c:htx_get_tail_blk
Unexecuted instantiation: errors.c:htx_get_tail_blk
Unexecuted instantiation: filters.c:htx_get_tail_blk
Unexecuted instantiation: flt_http_comp.c:htx_get_tail_blk
Unexecuted instantiation: frontend.c:htx_get_tail_blk
Unexecuted instantiation: haterm.c:htx_get_tail_blk
Unexecuted instantiation: http_ana.c:htx_get_tail_blk
Unexecuted instantiation: http_ext.c:htx_get_tail_blk
Unexecuted instantiation: http_fetch.c:htx_get_tail_blk
Unexecuted instantiation: payload.c:htx_get_tail_blk
Unexecuted instantiation: stats-html.c:htx_get_tail_blk
Unexecuted instantiation: stats-json.c:htx_get_tail_blk
Unexecuted instantiation: cache.c:htx_get_tail_blk
Unexecuted instantiation: fcgi-app.c:htx_get_tail_blk
Unexecuted instantiation: flt_spoe.c:htx_get_tail_blk
245
246
/* Returns the type of the newest HTX block (tail) if the HTX message is not
247
 * empty. Otherwise it returns HTX_BLK_UNUSED.
248
 */
249
static inline enum htx_blk_type htx_get_tail_type(const struct htx *htx)
250
0
{
251
0
  struct htx_blk *blk = htx_get_tail_blk(htx);
252
253
0
  return (blk ? htx_get_blk_type(blk) : HTX_BLK_UNUSED);
254
0
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_get_tail_type
Unexecuted instantiation: debug.c:htx_get_tail_type
Unexecuted instantiation: h1_htx.c:htx_get_tail_type
Unexecuted instantiation: haproxy.c:htx_get_tail_type
Unexecuted instantiation: http_htx.c:htx_get_tail_type
Unexecuted instantiation: htx.c:htx_get_tail_type
Unexecuted instantiation: log.c:htx_get_tail_type
Unexecuted instantiation: mworker.c:htx_get_tail_type
Unexecuted instantiation: peers.c:htx_get_tail_type
Unexecuted instantiation: pool.c:htx_get_tail_type
Unexecuted instantiation: proxy.c:htx_get_tail_type
Unexecuted instantiation: resolvers.c:htx_get_tail_type
Unexecuted instantiation: ring.c:htx_get_tail_type
Unexecuted instantiation: sample.c:htx_get_tail_type
Unexecuted instantiation: server.c:htx_get_tail_type
Unexecuted instantiation: sink.c:htx_get_tail_type
Unexecuted instantiation: stats.c:htx_get_tail_type
Unexecuted instantiation: stconn.c:htx_get_tail_type
Unexecuted instantiation: stick_table.c:htx_get_tail_type
Unexecuted instantiation: stream.c:htx_get_tail_type
Unexecuted instantiation: tcp_rules.c:htx_get_tail_type
Unexecuted instantiation: tcpcheck.c:htx_get_tail_type
Unexecuted instantiation: tools.c:htx_get_tail_type
Unexecuted instantiation: trace.c:htx_get_tail_type
Unexecuted instantiation: vars.c:htx_get_tail_type
Unexecuted instantiation: activity.c:htx_get_tail_type
Unexecuted instantiation: applet.c:htx_get_tail_type
Unexecuted instantiation: backend.c:htx_get_tail_type
Unexecuted instantiation: cfgparse.c:htx_get_tail_type
Unexecuted instantiation: channel.c:htx_get_tail_type
Unexecuted instantiation: check.c:htx_get_tail_type
Unexecuted instantiation: cli.c:htx_get_tail_type
Unexecuted instantiation: connection.c:htx_get_tail_type
Unexecuted instantiation: dns.c:htx_get_tail_type
Unexecuted instantiation: dns_ring.c:htx_get_tail_type
Unexecuted instantiation: errors.c:htx_get_tail_type
Unexecuted instantiation: filters.c:htx_get_tail_type
Unexecuted instantiation: flt_http_comp.c:htx_get_tail_type
Unexecuted instantiation: frontend.c:htx_get_tail_type
Unexecuted instantiation: haterm.c:htx_get_tail_type
Unexecuted instantiation: http_ana.c:htx_get_tail_type
Unexecuted instantiation: http_ext.c:htx_get_tail_type
Unexecuted instantiation: http_fetch.c:htx_get_tail_type
Unexecuted instantiation: payload.c:htx_get_tail_type
Unexecuted instantiation: stats-html.c:htx_get_tail_type
Unexecuted instantiation: stats-json.c:htx_get_tail_type
Unexecuted instantiation: cache.c:htx_get_tail_type
Unexecuted instantiation: fcgi-app.c:htx_get_tail_type
Unexecuted instantiation: flt_spoe.c:htx_get_tail_type
255
256
/* Returns the position of the first block in the HTX message <htx>. -1 means
257
 * the first block is unset or the HTS is empty.
258
 */
259
static inline int32_t htx_get_first(const struct htx *htx)
260
13
{
261
13
  return htx->first;
262
13
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_get_first
Unexecuted instantiation: debug.c:htx_get_first
Unexecuted instantiation: h1_htx.c:htx_get_first
Unexecuted instantiation: haproxy.c:htx_get_first
http_htx.c:htx_get_first
Line
Count
Source
260
13
{
261
13
  return htx->first;
262
13
}
Unexecuted instantiation: htx.c:htx_get_first
Unexecuted instantiation: log.c:htx_get_first
Unexecuted instantiation: mworker.c:htx_get_first
Unexecuted instantiation: peers.c:htx_get_first
Unexecuted instantiation: pool.c:htx_get_first
Unexecuted instantiation: proxy.c:htx_get_first
Unexecuted instantiation: resolvers.c:htx_get_first
Unexecuted instantiation: ring.c:htx_get_first
Unexecuted instantiation: sample.c:htx_get_first
Unexecuted instantiation: server.c:htx_get_first
Unexecuted instantiation: sink.c:htx_get_first
Unexecuted instantiation: stats.c:htx_get_first
Unexecuted instantiation: stconn.c:htx_get_first
Unexecuted instantiation: stick_table.c:htx_get_first
Unexecuted instantiation: stream.c:htx_get_first
Unexecuted instantiation: tcp_rules.c:htx_get_first
Unexecuted instantiation: tcpcheck.c:htx_get_first
Unexecuted instantiation: tools.c:htx_get_first
Unexecuted instantiation: trace.c:htx_get_first
Unexecuted instantiation: vars.c:htx_get_first
Unexecuted instantiation: activity.c:htx_get_first
Unexecuted instantiation: applet.c:htx_get_first
Unexecuted instantiation: backend.c:htx_get_first
Unexecuted instantiation: cfgparse.c:htx_get_first
Unexecuted instantiation: channel.c:htx_get_first
Unexecuted instantiation: check.c:htx_get_first
Unexecuted instantiation: cli.c:htx_get_first
Unexecuted instantiation: connection.c:htx_get_first
Unexecuted instantiation: dns.c:htx_get_first
Unexecuted instantiation: dns_ring.c:htx_get_first
Unexecuted instantiation: errors.c:htx_get_first
Unexecuted instantiation: filters.c:htx_get_first
Unexecuted instantiation: flt_http_comp.c:htx_get_first
Unexecuted instantiation: frontend.c:htx_get_first
Unexecuted instantiation: haterm.c:htx_get_first
Unexecuted instantiation: http_ana.c:htx_get_first
Unexecuted instantiation: http_ext.c:htx_get_first
Unexecuted instantiation: http_fetch.c:htx_get_first
Unexecuted instantiation: payload.c:htx_get_first
Unexecuted instantiation: stats-html.c:htx_get_first
Unexecuted instantiation: stats-json.c:htx_get_first
Unexecuted instantiation: cache.c:htx_get_first
Unexecuted instantiation: fcgi-app.c:htx_get_first
Unexecuted instantiation: flt_spoe.c:htx_get_first
263
264
/* Returns the first HTX block in the HTX message <htx>. If unset or if <htx> is
265
 * empty, NULL returned.
266
 */
267
static inline struct htx_blk *htx_get_first_blk(const struct htx *htx)
268
13
{
269
13
  int32_t pos;
270
271
13
  pos = htx_get_first(htx);
272
13
  return ((pos == -1) ? NULL : htx_get_blk(htx, pos));
273
13
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_get_first_blk
Unexecuted instantiation: debug.c:htx_get_first_blk
Unexecuted instantiation: h1_htx.c:htx_get_first_blk
Unexecuted instantiation: haproxy.c:htx_get_first_blk
http_htx.c:htx_get_first_blk
Line
Count
Source
268
13
{
269
13
  int32_t pos;
270
271
13
  pos = htx_get_first(htx);
272
13
  return ((pos == -1) ? NULL : htx_get_blk(htx, pos));
273
13
}
Unexecuted instantiation: htx.c:htx_get_first_blk
Unexecuted instantiation: log.c:htx_get_first_blk
Unexecuted instantiation: mworker.c:htx_get_first_blk
Unexecuted instantiation: peers.c:htx_get_first_blk
Unexecuted instantiation: pool.c:htx_get_first_blk
Unexecuted instantiation: proxy.c:htx_get_first_blk
Unexecuted instantiation: resolvers.c:htx_get_first_blk
Unexecuted instantiation: ring.c:htx_get_first_blk
Unexecuted instantiation: sample.c:htx_get_first_blk
Unexecuted instantiation: server.c:htx_get_first_blk
Unexecuted instantiation: sink.c:htx_get_first_blk
Unexecuted instantiation: stats.c:htx_get_first_blk
Unexecuted instantiation: stconn.c:htx_get_first_blk
Unexecuted instantiation: stick_table.c:htx_get_first_blk
Unexecuted instantiation: stream.c:htx_get_first_blk
Unexecuted instantiation: tcp_rules.c:htx_get_first_blk
Unexecuted instantiation: tcpcheck.c:htx_get_first_blk
Unexecuted instantiation: tools.c:htx_get_first_blk
Unexecuted instantiation: trace.c:htx_get_first_blk
Unexecuted instantiation: vars.c:htx_get_first_blk
Unexecuted instantiation: activity.c:htx_get_first_blk
Unexecuted instantiation: applet.c:htx_get_first_blk
Unexecuted instantiation: backend.c:htx_get_first_blk
Unexecuted instantiation: cfgparse.c:htx_get_first_blk
Unexecuted instantiation: channel.c:htx_get_first_blk
Unexecuted instantiation: check.c:htx_get_first_blk
Unexecuted instantiation: cli.c:htx_get_first_blk
Unexecuted instantiation: connection.c:htx_get_first_blk
Unexecuted instantiation: dns.c:htx_get_first_blk
Unexecuted instantiation: dns_ring.c:htx_get_first_blk
Unexecuted instantiation: errors.c:htx_get_first_blk
Unexecuted instantiation: filters.c:htx_get_first_blk
Unexecuted instantiation: flt_http_comp.c:htx_get_first_blk
Unexecuted instantiation: frontend.c:htx_get_first_blk
Unexecuted instantiation: haterm.c:htx_get_first_blk
Unexecuted instantiation: http_ana.c:htx_get_first_blk
Unexecuted instantiation: http_ext.c:htx_get_first_blk
Unexecuted instantiation: http_fetch.c:htx_get_first_blk
Unexecuted instantiation: payload.c:htx_get_first_blk
Unexecuted instantiation: stats-html.c:htx_get_first_blk
Unexecuted instantiation: stats-json.c:htx_get_first_blk
Unexecuted instantiation: cache.c:htx_get_first_blk
Unexecuted instantiation: fcgi-app.c:htx_get_first_blk
Unexecuted instantiation: flt_spoe.c:htx_get_first_blk
274
275
/* Returns the type of the first block in the HTX message <htx>. If unset or if
276
 * <htx> is empty, HTX_BLK_UNUSED is returned.
277
 */
278
static inline enum htx_blk_type htx_get_first_type(const struct htx *htx)
279
0
{
280
0
  struct htx_blk *blk = htx_get_first_blk(htx);
281
282
0
  return (blk ? htx_get_blk_type(blk) : HTX_BLK_UNUSED);
283
0
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_get_first_type
Unexecuted instantiation: debug.c:htx_get_first_type
Unexecuted instantiation: h1_htx.c:htx_get_first_type
Unexecuted instantiation: haproxy.c:htx_get_first_type
Unexecuted instantiation: http_htx.c:htx_get_first_type
Unexecuted instantiation: htx.c:htx_get_first_type
Unexecuted instantiation: log.c:htx_get_first_type
Unexecuted instantiation: mworker.c:htx_get_first_type
Unexecuted instantiation: peers.c:htx_get_first_type
Unexecuted instantiation: pool.c:htx_get_first_type
Unexecuted instantiation: proxy.c:htx_get_first_type
Unexecuted instantiation: resolvers.c:htx_get_first_type
Unexecuted instantiation: ring.c:htx_get_first_type
Unexecuted instantiation: sample.c:htx_get_first_type
Unexecuted instantiation: server.c:htx_get_first_type
Unexecuted instantiation: sink.c:htx_get_first_type
Unexecuted instantiation: stats.c:htx_get_first_type
Unexecuted instantiation: stconn.c:htx_get_first_type
Unexecuted instantiation: stick_table.c:htx_get_first_type
Unexecuted instantiation: stream.c:htx_get_first_type
Unexecuted instantiation: tcp_rules.c:htx_get_first_type
Unexecuted instantiation: tcpcheck.c:htx_get_first_type
Unexecuted instantiation: tools.c:htx_get_first_type
Unexecuted instantiation: trace.c:htx_get_first_type
Unexecuted instantiation: vars.c:htx_get_first_type
Unexecuted instantiation: activity.c:htx_get_first_type
Unexecuted instantiation: applet.c:htx_get_first_type
Unexecuted instantiation: backend.c:htx_get_first_type
Unexecuted instantiation: cfgparse.c:htx_get_first_type
Unexecuted instantiation: channel.c:htx_get_first_type
Unexecuted instantiation: check.c:htx_get_first_type
Unexecuted instantiation: cli.c:htx_get_first_type
Unexecuted instantiation: connection.c:htx_get_first_type
Unexecuted instantiation: dns.c:htx_get_first_type
Unexecuted instantiation: dns_ring.c:htx_get_first_type
Unexecuted instantiation: errors.c:htx_get_first_type
Unexecuted instantiation: filters.c:htx_get_first_type
Unexecuted instantiation: flt_http_comp.c:htx_get_first_type
Unexecuted instantiation: frontend.c:htx_get_first_type
Unexecuted instantiation: haterm.c:htx_get_first_type
Unexecuted instantiation: http_ana.c:htx_get_first_type
Unexecuted instantiation: http_ext.c:htx_get_first_type
Unexecuted instantiation: http_fetch.c:htx_get_first_type
Unexecuted instantiation: payload.c:htx_get_first_type
Unexecuted instantiation: stats-html.c:htx_get_first_type
Unexecuted instantiation: stats-json.c:htx_get_first_type
Unexecuted instantiation: cache.c:htx_get_first_type
Unexecuted instantiation: fcgi-app.c:htx_get_first_type
Unexecuted instantiation: flt_spoe.c:htx_get_first_type
284
285
/* Returns the position of block immediately before the one pointed by <pos>. If
286
 * the message is empty or if <pos> is the position of the head, -1 returned.
287
 */
288
static inline int32_t htx_get_prev(const struct htx *htx, uint32_t pos)
289
0
{
290
0
  if (htx->head == -1 || pos == htx->head)
291
0
    return -1;
292
0
  return (pos - 1);
293
0
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_get_prev
Unexecuted instantiation: debug.c:htx_get_prev
Unexecuted instantiation: h1_htx.c:htx_get_prev
Unexecuted instantiation: haproxy.c:htx_get_prev
Unexecuted instantiation: http_htx.c:htx_get_prev
Unexecuted instantiation: htx.c:htx_get_prev
Unexecuted instantiation: log.c:htx_get_prev
Unexecuted instantiation: mworker.c:htx_get_prev
Unexecuted instantiation: peers.c:htx_get_prev
Unexecuted instantiation: pool.c:htx_get_prev
Unexecuted instantiation: proxy.c:htx_get_prev
Unexecuted instantiation: resolvers.c:htx_get_prev
Unexecuted instantiation: ring.c:htx_get_prev
Unexecuted instantiation: sample.c:htx_get_prev
Unexecuted instantiation: server.c:htx_get_prev
Unexecuted instantiation: sink.c:htx_get_prev
Unexecuted instantiation: stats.c:htx_get_prev
Unexecuted instantiation: stconn.c:htx_get_prev
Unexecuted instantiation: stick_table.c:htx_get_prev
Unexecuted instantiation: stream.c:htx_get_prev
Unexecuted instantiation: tcp_rules.c:htx_get_prev
Unexecuted instantiation: tcpcheck.c:htx_get_prev
Unexecuted instantiation: tools.c:htx_get_prev
Unexecuted instantiation: trace.c:htx_get_prev
Unexecuted instantiation: vars.c:htx_get_prev
Unexecuted instantiation: activity.c:htx_get_prev
Unexecuted instantiation: applet.c:htx_get_prev
Unexecuted instantiation: backend.c:htx_get_prev
Unexecuted instantiation: cfgparse.c:htx_get_prev
Unexecuted instantiation: channel.c:htx_get_prev
Unexecuted instantiation: check.c:htx_get_prev
Unexecuted instantiation: cli.c:htx_get_prev
Unexecuted instantiation: connection.c:htx_get_prev
Unexecuted instantiation: dns.c:htx_get_prev
Unexecuted instantiation: dns_ring.c:htx_get_prev
Unexecuted instantiation: errors.c:htx_get_prev
Unexecuted instantiation: filters.c:htx_get_prev
Unexecuted instantiation: flt_http_comp.c:htx_get_prev
Unexecuted instantiation: frontend.c:htx_get_prev
Unexecuted instantiation: haterm.c:htx_get_prev
Unexecuted instantiation: http_ana.c:htx_get_prev
Unexecuted instantiation: http_ext.c:htx_get_prev
Unexecuted instantiation: http_fetch.c:htx_get_prev
Unexecuted instantiation: payload.c:htx_get_prev
Unexecuted instantiation: stats-html.c:htx_get_prev
Unexecuted instantiation: stats-json.c:htx_get_prev
Unexecuted instantiation: cache.c:htx_get_prev
Unexecuted instantiation: fcgi-app.c:htx_get_prev
Unexecuted instantiation: flt_spoe.c:htx_get_prev
294
295
/* Returns the HTX block before <blk> in the HTX message <htx>. If <blk> is the
296
 * head, NULL returned.
297
 */
298
static inline struct htx_blk *htx_get_prev_blk(const struct htx *htx,
299
                 const struct htx_blk *blk)
300
0
{
301
0
  int32_t pos;
302
303
0
  pos = htx_get_prev(htx, htx_get_blk_pos(htx, blk));
304
0
  return ((pos == -1) ? NULL : htx_get_blk(htx, pos));
305
0
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_get_prev_blk
Unexecuted instantiation: debug.c:htx_get_prev_blk
Unexecuted instantiation: h1_htx.c:htx_get_prev_blk
Unexecuted instantiation: haproxy.c:htx_get_prev_blk
Unexecuted instantiation: http_htx.c:htx_get_prev_blk
Unexecuted instantiation: htx.c:htx_get_prev_blk
Unexecuted instantiation: log.c:htx_get_prev_blk
Unexecuted instantiation: mworker.c:htx_get_prev_blk
Unexecuted instantiation: peers.c:htx_get_prev_blk
Unexecuted instantiation: pool.c:htx_get_prev_blk
Unexecuted instantiation: proxy.c:htx_get_prev_blk
Unexecuted instantiation: resolvers.c:htx_get_prev_blk
Unexecuted instantiation: ring.c:htx_get_prev_blk
Unexecuted instantiation: sample.c:htx_get_prev_blk
Unexecuted instantiation: server.c:htx_get_prev_blk
Unexecuted instantiation: sink.c:htx_get_prev_blk
Unexecuted instantiation: stats.c:htx_get_prev_blk
Unexecuted instantiation: stconn.c:htx_get_prev_blk
Unexecuted instantiation: stick_table.c:htx_get_prev_blk
Unexecuted instantiation: stream.c:htx_get_prev_blk
Unexecuted instantiation: tcp_rules.c:htx_get_prev_blk
Unexecuted instantiation: tcpcheck.c:htx_get_prev_blk
Unexecuted instantiation: tools.c:htx_get_prev_blk
Unexecuted instantiation: trace.c:htx_get_prev_blk
Unexecuted instantiation: vars.c:htx_get_prev_blk
Unexecuted instantiation: activity.c:htx_get_prev_blk
Unexecuted instantiation: applet.c:htx_get_prev_blk
Unexecuted instantiation: backend.c:htx_get_prev_blk
Unexecuted instantiation: cfgparse.c:htx_get_prev_blk
Unexecuted instantiation: channel.c:htx_get_prev_blk
Unexecuted instantiation: check.c:htx_get_prev_blk
Unexecuted instantiation: cli.c:htx_get_prev_blk
Unexecuted instantiation: connection.c:htx_get_prev_blk
Unexecuted instantiation: dns.c:htx_get_prev_blk
Unexecuted instantiation: dns_ring.c:htx_get_prev_blk
Unexecuted instantiation: errors.c:htx_get_prev_blk
Unexecuted instantiation: filters.c:htx_get_prev_blk
Unexecuted instantiation: flt_http_comp.c:htx_get_prev_blk
Unexecuted instantiation: frontend.c:htx_get_prev_blk
Unexecuted instantiation: haterm.c:htx_get_prev_blk
Unexecuted instantiation: http_ana.c:htx_get_prev_blk
Unexecuted instantiation: http_ext.c:htx_get_prev_blk
Unexecuted instantiation: http_fetch.c:htx_get_prev_blk
Unexecuted instantiation: payload.c:htx_get_prev_blk
Unexecuted instantiation: stats-html.c:htx_get_prev_blk
Unexecuted instantiation: stats-json.c:htx_get_prev_blk
Unexecuted instantiation: cache.c:htx_get_prev_blk
Unexecuted instantiation: fcgi-app.c:htx_get_prev_blk
Unexecuted instantiation: flt_spoe.c:htx_get_prev_blk
306
307
/* Returns the position of block immediately after the one pointed by <pos>. If
308
 * the message is empty or if <pos> is the position of the tail, -1 returned.
309
 */
310
static inline int32_t htx_get_next(const struct htx *htx, uint32_t pos)
311
0
{
312
0
  if (htx->tail == -1 || pos == htx->tail)
313
0
    return -1;
314
0
  return (pos + 1);
315
316
0
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_get_next
Unexecuted instantiation: debug.c:htx_get_next
Unexecuted instantiation: h1_htx.c:htx_get_next
Unexecuted instantiation: haproxy.c:htx_get_next
Unexecuted instantiation: http_htx.c:htx_get_next
Unexecuted instantiation: htx.c:htx_get_next
Unexecuted instantiation: log.c:htx_get_next
Unexecuted instantiation: mworker.c:htx_get_next
Unexecuted instantiation: peers.c:htx_get_next
Unexecuted instantiation: pool.c:htx_get_next
Unexecuted instantiation: proxy.c:htx_get_next
Unexecuted instantiation: resolvers.c:htx_get_next
Unexecuted instantiation: ring.c:htx_get_next
Unexecuted instantiation: sample.c:htx_get_next
Unexecuted instantiation: server.c:htx_get_next
Unexecuted instantiation: sink.c:htx_get_next
Unexecuted instantiation: stats.c:htx_get_next
Unexecuted instantiation: stconn.c:htx_get_next
Unexecuted instantiation: stick_table.c:htx_get_next
Unexecuted instantiation: stream.c:htx_get_next
Unexecuted instantiation: tcp_rules.c:htx_get_next
Unexecuted instantiation: tcpcheck.c:htx_get_next
Unexecuted instantiation: tools.c:htx_get_next
Unexecuted instantiation: trace.c:htx_get_next
Unexecuted instantiation: vars.c:htx_get_next
Unexecuted instantiation: activity.c:htx_get_next
Unexecuted instantiation: applet.c:htx_get_next
Unexecuted instantiation: backend.c:htx_get_next
Unexecuted instantiation: cfgparse.c:htx_get_next
Unexecuted instantiation: channel.c:htx_get_next
Unexecuted instantiation: check.c:htx_get_next
Unexecuted instantiation: cli.c:htx_get_next
Unexecuted instantiation: connection.c:htx_get_next
Unexecuted instantiation: dns.c:htx_get_next
Unexecuted instantiation: dns_ring.c:htx_get_next
Unexecuted instantiation: errors.c:htx_get_next
Unexecuted instantiation: filters.c:htx_get_next
Unexecuted instantiation: flt_http_comp.c:htx_get_next
Unexecuted instantiation: frontend.c:htx_get_next
Unexecuted instantiation: haterm.c:htx_get_next
Unexecuted instantiation: http_ana.c:htx_get_next
Unexecuted instantiation: http_ext.c:htx_get_next
Unexecuted instantiation: http_fetch.c:htx_get_next
Unexecuted instantiation: payload.c:htx_get_next
Unexecuted instantiation: stats-html.c:htx_get_next
Unexecuted instantiation: stats-json.c:htx_get_next
Unexecuted instantiation: cache.c:htx_get_next
Unexecuted instantiation: fcgi-app.c:htx_get_next
Unexecuted instantiation: flt_spoe.c:htx_get_next
317
318
/* Returns the HTX block after <blk> in the HTX message <htx>. If <blk> is the
319
 * tail, NULL returned.
320
 */
321
static inline struct htx_blk *htx_get_next_blk(const struct htx *htx,
322
                 const struct htx_blk *blk)
323
0
{
324
0
  int32_t pos;
325
326
0
  pos = htx_get_next(htx, htx_get_blk_pos(htx, blk));
327
0
  return ((pos == -1) ? NULL : htx_get_blk(htx, pos));
328
0
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_get_next_blk
Unexecuted instantiation: debug.c:htx_get_next_blk
Unexecuted instantiation: h1_htx.c:htx_get_next_blk
Unexecuted instantiation: haproxy.c:htx_get_next_blk
Unexecuted instantiation: http_htx.c:htx_get_next_blk
Unexecuted instantiation: htx.c:htx_get_next_blk
Unexecuted instantiation: log.c:htx_get_next_blk
Unexecuted instantiation: mworker.c:htx_get_next_blk
Unexecuted instantiation: peers.c:htx_get_next_blk
Unexecuted instantiation: pool.c:htx_get_next_blk
Unexecuted instantiation: proxy.c:htx_get_next_blk
Unexecuted instantiation: resolvers.c:htx_get_next_blk
Unexecuted instantiation: ring.c:htx_get_next_blk
Unexecuted instantiation: sample.c:htx_get_next_blk
Unexecuted instantiation: server.c:htx_get_next_blk
Unexecuted instantiation: sink.c:htx_get_next_blk
Unexecuted instantiation: stats.c:htx_get_next_blk
Unexecuted instantiation: stconn.c:htx_get_next_blk
Unexecuted instantiation: stick_table.c:htx_get_next_blk
Unexecuted instantiation: stream.c:htx_get_next_blk
Unexecuted instantiation: tcp_rules.c:htx_get_next_blk
Unexecuted instantiation: tcpcheck.c:htx_get_next_blk
Unexecuted instantiation: tools.c:htx_get_next_blk
Unexecuted instantiation: trace.c:htx_get_next_blk
Unexecuted instantiation: vars.c:htx_get_next_blk
Unexecuted instantiation: activity.c:htx_get_next_blk
Unexecuted instantiation: applet.c:htx_get_next_blk
Unexecuted instantiation: backend.c:htx_get_next_blk
Unexecuted instantiation: cfgparse.c:htx_get_next_blk
Unexecuted instantiation: channel.c:htx_get_next_blk
Unexecuted instantiation: check.c:htx_get_next_blk
Unexecuted instantiation: cli.c:htx_get_next_blk
Unexecuted instantiation: connection.c:htx_get_next_blk
Unexecuted instantiation: dns.c:htx_get_next_blk
Unexecuted instantiation: dns_ring.c:htx_get_next_blk
Unexecuted instantiation: errors.c:htx_get_next_blk
Unexecuted instantiation: filters.c:htx_get_next_blk
Unexecuted instantiation: flt_http_comp.c:htx_get_next_blk
Unexecuted instantiation: frontend.c:htx_get_next_blk
Unexecuted instantiation: haterm.c:htx_get_next_blk
Unexecuted instantiation: http_ana.c:htx_get_next_blk
Unexecuted instantiation: http_ext.c:htx_get_next_blk
Unexecuted instantiation: http_fetch.c:htx_get_next_blk
Unexecuted instantiation: payload.c:htx_get_next_blk
Unexecuted instantiation: stats-html.c:htx_get_next_blk
Unexecuted instantiation: stats-json.c:htx_get_next_blk
Unexecuted instantiation: cache.c:htx_get_next_blk
Unexecuted instantiation: fcgi-app.c:htx_get_next_blk
Unexecuted instantiation: flt_spoe.c:htx_get_next_blk
329
330
/* Returns 1 if <blk> is the block is the only one inside the HTX message <htx>,
331
 * excluding all unused blocks. Otherwise, it returns 0. If 1 is returned, this
332
 * means that there is only <blk> and eventually some unused ones in <htx>.
333
 */
334
static inline int htx_is_unique_blk(const struct htx *htx,
335
            const struct htx_blk *blk)
336
0
{
337
0
  return (htx_get_blksz(blk) == htx->data);
338
0
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_is_unique_blk
Unexecuted instantiation: debug.c:htx_is_unique_blk
Unexecuted instantiation: h1_htx.c:htx_is_unique_blk
Unexecuted instantiation: haproxy.c:htx_is_unique_blk
Unexecuted instantiation: http_htx.c:htx_is_unique_blk
Unexecuted instantiation: htx.c:htx_is_unique_blk
Unexecuted instantiation: log.c:htx_is_unique_blk
Unexecuted instantiation: mworker.c:htx_is_unique_blk
Unexecuted instantiation: peers.c:htx_is_unique_blk
Unexecuted instantiation: pool.c:htx_is_unique_blk
Unexecuted instantiation: proxy.c:htx_is_unique_blk
Unexecuted instantiation: resolvers.c:htx_is_unique_blk
Unexecuted instantiation: ring.c:htx_is_unique_blk
Unexecuted instantiation: sample.c:htx_is_unique_blk
Unexecuted instantiation: server.c:htx_is_unique_blk
Unexecuted instantiation: sink.c:htx_is_unique_blk
Unexecuted instantiation: stats.c:htx_is_unique_blk
Unexecuted instantiation: stconn.c:htx_is_unique_blk
Unexecuted instantiation: stick_table.c:htx_is_unique_blk
Unexecuted instantiation: stream.c:htx_is_unique_blk
Unexecuted instantiation: tcp_rules.c:htx_is_unique_blk
Unexecuted instantiation: tcpcheck.c:htx_is_unique_blk
Unexecuted instantiation: tools.c:htx_is_unique_blk
Unexecuted instantiation: trace.c:htx_is_unique_blk
Unexecuted instantiation: vars.c:htx_is_unique_blk
Unexecuted instantiation: activity.c:htx_is_unique_blk
Unexecuted instantiation: applet.c:htx_is_unique_blk
Unexecuted instantiation: backend.c:htx_is_unique_blk
Unexecuted instantiation: cfgparse.c:htx_is_unique_blk
Unexecuted instantiation: channel.c:htx_is_unique_blk
Unexecuted instantiation: check.c:htx_is_unique_blk
Unexecuted instantiation: cli.c:htx_is_unique_blk
Unexecuted instantiation: connection.c:htx_is_unique_blk
Unexecuted instantiation: dns.c:htx_is_unique_blk
Unexecuted instantiation: dns_ring.c:htx_is_unique_blk
Unexecuted instantiation: errors.c:htx_is_unique_blk
Unexecuted instantiation: filters.c:htx_is_unique_blk
Unexecuted instantiation: flt_http_comp.c:htx_is_unique_blk
Unexecuted instantiation: frontend.c:htx_is_unique_blk
Unexecuted instantiation: haterm.c:htx_is_unique_blk
Unexecuted instantiation: http_ana.c:htx_is_unique_blk
Unexecuted instantiation: http_ext.c:htx_is_unique_blk
Unexecuted instantiation: http_fetch.c:htx_is_unique_blk
Unexecuted instantiation: payload.c:htx_is_unique_blk
Unexecuted instantiation: stats-html.c:htx_is_unique_blk
Unexecuted instantiation: stats-json.c:htx_is_unique_blk
Unexecuted instantiation: cache.c:htx_is_unique_blk
Unexecuted instantiation: fcgi-app.c:htx_is_unique_blk
Unexecuted instantiation: flt_spoe.c:htx_is_unique_blk
339
340
/* Changes the size of the value. It is the caller responsibility to change the
341
 * value itself, make sure there is enough space and update allocated
342
 * value. This function updates the HTX message accordingly.
343
 */
344
static inline void htx_change_blk_value_len(struct htx *htx, struct htx_blk *blk, uint32_t newlen)
345
281
{
346
281
  enum htx_blk_type type = htx_get_blk_type(blk);
347
281
  uint32_t oldlen, sz;
348
281
  int32_t delta;
349
350
281
  sz = htx_get_blksz(blk);
351
281
  switch (type) {
352
0
    case HTX_BLK_HDR:
353
0
    case HTX_BLK_TLR:
354
0
      oldlen = (blk->info >> 8) & 0xfffff;
355
0
      blk->info = (type << 28) + (newlen << 8) + (blk->info & 0xff);
356
0
      break;
357
281
    default:
358
281
      oldlen = blk->info & 0xfffffff;
359
281
      blk->info = (type << 28) + newlen;
360
281
      break;
361
281
  }
362
363
  /* Update HTTP message */
364
281
  delta = (newlen - oldlen);
365
281
  htx->data += delta;
366
281
  if (blk->addr+sz == htx->tail_addr)
367
281
    htx->tail_addr += delta;
368
0
  else if (blk->addr+sz == htx->head_addr)
369
0
    htx->head_addr += delta;
370
281
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_change_blk_value_len
Unexecuted instantiation: debug.c:htx_change_blk_value_len
h1_htx.c:htx_change_blk_value_len
Line
Count
Source
345
153
{
346
153
  enum htx_blk_type type = htx_get_blk_type(blk);
347
153
  uint32_t oldlen, sz;
348
153
  int32_t delta;
349
350
153
  sz = htx_get_blksz(blk);
351
153
  switch (type) {
352
0
    case HTX_BLK_HDR:
353
0
    case HTX_BLK_TLR:
354
0
      oldlen = (blk->info >> 8) & 0xfffff;
355
0
      blk->info = (type << 28) + (newlen << 8) + (blk->info & 0xff);
356
0
      break;
357
153
    default:
358
153
      oldlen = blk->info & 0xfffffff;
359
153
      blk->info = (type << 28) + newlen;
360
153
      break;
361
153
  }
362
363
  /* Update HTTP message */
364
153
  delta = (newlen - oldlen);
365
153
  htx->data += delta;
366
153
  if (blk->addr+sz == htx->tail_addr)
367
153
    htx->tail_addr += delta;
368
0
  else if (blk->addr+sz == htx->head_addr)
369
0
    htx->head_addr += delta;
370
153
}
Unexecuted instantiation: haproxy.c:htx_change_blk_value_len
Unexecuted instantiation: http_htx.c:htx_change_blk_value_len
htx.c:htx_change_blk_value_len
Line
Count
Source
345
128
{
346
128
  enum htx_blk_type type = htx_get_blk_type(blk);
347
128
  uint32_t oldlen, sz;
348
128
  int32_t delta;
349
350
128
  sz = htx_get_blksz(blk);
351
128
  switch (type) {
352
0
    case HTX_BLK_HDR:
353
0
    case HTX_BLK_TLR:
354
0
      oldlen = (blk->info >> 8) & 0xfffff;
355
0
      blk->info = (type << 28) + (newlen << 8) + (blk->info & 0xff);
356
0
      break;
357
128
    default:
358
128
      oldlen = blk->info & 0xfffffff;
359
128
      blk->info = (type << 28) + newlen;
360
128
      break;
361
128
  }
362
363
  /* Update HTTP message */
364
128
  delta = (newlen - oldlen);
365
128
  htx->data += delta;
366
128
  if (blk->addr+sz == htx->tail_addr)
367
128
    htx->tail_addr += delta;
368
0
  else if (blk->addr+sz == htx->head_addr)
369
0
    htx->head_addr += delta;
370
128
}
Unexecuted instantiation: log.c:htx_change_blk_value_len
Unexecuted instantiation: mworker.c:htx_change_blk_value_len
Unexecuted instantiation: peers.c:htx_change_blk_value_len
Unexecuted instantiation: pool.c:htx_change_blk_value_len
Unexecuted instantiation: proxy.c:htx_change_blk_value_len
Unexecuted instantiation: resolvers.c:htx_change_blk_value_len
Unexecuted instantiation: ring.c:htx_change_blk_value_len
Unexecuted instantiation: sample.c:htx_change_blk_value_len
Unexecuted instantiation: server.c:htx_change_blk_value_len
Unexecuted instantiation: sink.c:htx_change_blk_value_len
Unexecuted instantiation: stats.c:htx_change_blk_value_len
Unexecuted instantiation: stconn.c:htx_change_blk_value_len
Unexecuted instantiation: stick_table.c:htx_change_blk_value_len
Unexecuted instantiation: stream.c:htx_change_blk_value_len
Unexecuted instantiation: tcp_rules.c:htx_change_blk_value_len
Unexecuted instantiation: tcpcheck.c:htx_change_blk_value_len
Unexecuted instantiation: tools.c:htx_change_blk_value_len
Unexecuted instantiation: trace.c:htx_change_blk_value_len
Unexecuted instantiation: vars.c:htx_change_blk_value_len
Unexecuted instantiation: activity.c:htx_change_blk_value_len
Unexecuted instantiation: applet.c:htx_change_blk_value_len
Unexecuted instantiation: backend.c:htx_change_blk_value_len
Unexecuted instantiation: cfgparse.c:htx_change_blk_value_len
Unexecuted instantiation: channel.c:htx_change_blk_value_len
Unexecuted instantiation: check.c:htx_change_blk_value_len
Unexecuted instantiation: cli.c:htx_change_blk_value_len
Unexecuted instantiation: connection.c:htx_change_blk_value_len
Unexecuted instantiation: dns.c:htx_change_blk_value_len
Unexecuted instantiation: dns_ring.c:htx_change_blk_value_len
Unexecuted instantiation: errors.c:htx_change_blk_value_len
Unexecuted instantiation: filters.c:htx_change_blk_value_len
Unexecuted instantiation: flt_http_comp.c:htx_change_blk_value_len
Unexecuted instantiation: frontend.c:htx_change_blk_value_len
Unexecuted instantiation: haterm.c:htx_change_blk_value_len
Unexecuted instantiation: http_ana.c:htx_change_blk_value_len
Unexecuted instantiation: http_ext.c:htx_change_blk_value_len
Unexecuted instantiation: http_fetch.c:htx_change_blk_value_len
Unexecuted instantiation: payload.c:htx_change_blk_value_len
Unexecuted instantiation: stats-html.c:htx_change_blk_value_len
Unexecuted instantiation: stats-json.c:htx_change_blk_value_len
Unexecuted instantiation: cache.c:htx_change_blk_value_len
Unexecuted instantiation: fcgi-app.c:htx_change_blk_value_len
Unexecuted instantiation: flt_spoe.c:htx_change_blk_value_len
371
372
/* Changes the size of the value. It is the caller responsibility to change the
373
 * value itself, make sure there is enough space and update allocated
374
 * value. Unlike the function htx_change_blk_value_len(), this one does not
375
 * update the HTX message. So it should be used with caution.
376
 */
377
static inline void htx_set_blk_value_len(struct htx_blk *blk, uint32_t vlen)
378
0
{
379
0
  enum htx_blk_type type = htx_get_blk_type(blk);
380
381
0
  switch (type) {
382
0
    case HTX_BLK_HDR:
383
0
    case HTX_BLK_TLR:
384
0
      blk->info = (type << 28) + (vlen << 8) + (blk->info & 0xff);
385
0
      break;
386
0
    case HTX_BLK_REQ_SL:
387
0
    case HTX_BLK_RES_SL:
388
0
    case HTX_BLK_DATA:
389
0
      blk->info = (type << 28) + vlen;
390
0
      break;
391
0
    default:
392
      /* Unexpected case */
393
0
      break;
394
0
  }
395
0
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_set_blk_value_len
Unexecuted instantiation: debug.c:htx_set_blk_value_len
Unexecuted instantiation: h1_htx.c:htx_set_blk_value_len
Unexecuted instantiation: haproxy.c:htx_set_blk_value_len
Unexecuted instantiation: http_htx.c:htx_set_blk_value_len
Unexecuted instantiation: htx.c:htx_set_blk_value_len
Unexecuted instantiation: log.c:htx_set_blk_value_len
Unexecuted instantiation: mworker.c:htx_set_blk_value_len
Unexecuted instantiation: peers.c:htx_set_blk_value_len
Unexecuted instantiation: pool.c:htx_set_blk_value_len
Unexecuted instantiation: proxy.c:htx_set_blk_value_len
Unexecuted instantiation: resolvers.c:htx_set_blk_value_len
Unexecuted instantiation: ring.c:htx_set_blk_value_len
Unexecuted instantiation: sample.c:htx_set_blk_value_len
Unexecuted instantiation: server.c:htx_set_blk_value_len
Unexecuted instantiation: sink.c:htx_set_blk_value_len
Unexecuted instantiation: stats.c:htx_set_blk_value_len
Unexecuted instantiation: stconn.c:htx_set_blk_value_len
Unexecuted instantiation: stick_table.c:htx_set_blk_value_len
Unexecuted instantiation: stream.c:htx_set_blk_value_len
Unexecuted instantiation: tcp_rules.c:htx_set_blk_value_len
Unexecuted instantiation: tcpcheck.c:htx_set_blk_value_len
Unexecuted instantiation: tools.c:htx_set_blk_value_len
Unexecuted instantiation: trace.c:htx_set_blk_value_len
Unexecuted instantiation: vars.c:htx_set_blk_value_len
Unexecuted instantiation: activity.c:htx_set_blk_value_len
Unexecuted instantiation: applet.c:htx_set_blk_value_len
Unexecuted instantiation: backend.c:htx_set_blk_value_len
Unexecuted instantiation: cfgparse.c:htx_set_blk_value_len
Unexecuted instantiation: channel.c:htx_set_blk_value_len
Unexecuted instantiation: check.c:htx_set_blk_value_len
Unexecuted instantiation: cli.c:htx_set_blk_value_len
Unexecuted instantiation: connection.c:htx_set_blk_value_len
Unexecuted instantiation: dns.c:htx_set_blk_value_len
Unexecuted instantiation: dns_ring.c:htx_set_blk_value_len
Unexecuted instantiation: errors.c:htx_set_blk_value_len
Unexecuted instantiation: filters.c:htx_set_blk_value_len
Unexecuted instantiation: flt_http_comp.c:htx_set_blk_value_len
Unexecuted instantiation: frontend.c:htx_set_blk_value_len
Unexecuted instantiation: haterm.c:htx_set_blk_value_len
Unexecuted instantiation: http_ana.c:htx_set_blk_value_len
Unexecuted instantiation: http_ext.c:htx_set_blk_value_len
Unexecuted instantiation: http_fetch.c:htx_set_blk_value_len
Unexecuted instantiation: payload.c:htx_set_blk_value_len
Unexecuted instantiation: stats-html.c:htx_set_blk_value_len
Unexecuted instantiation: stats-json.c:htx_set_blk_value_len
Unexecuted instantiation: cache.c:htx_set_blk_value_len
Unexecuted instantiation: fcgi-app.c:htx_set_blk_value_len
Unexecuted instantiation: flt_spoe.c:htx_set_blk_value_len
396
397
/* Returns the data pointer of the block <blk> */
398
static inline void *htx_get_blk_ptr(const struct htx *htx, const struct htx_blk *blk)
399
27.4k
{
400
27.4k
  return ((void *)htx->blocks + blk->addr);
401
27.4k
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_get_blk_ptr
Unexecuted instantiation: debug.c:htx_get_blk_ptr
h1_htx.c:htx_get_blk_ptr
Line
Count
Source
399
26.8k
{
400
26.8k
  return ((void *)htx->blocks + blk->addr);
401
26.8k
}
Unexecuted instantiation: haproxy.c:htx_get_blk_ptr
http_htx.c:htx_get_blk_ptr
Line
Count
Source
399
13
{
400
13
  return ((void *)htx->blocks + blk->addr);
401
13
}
htx.c:htx_get_blk_ptr
Line
Count
Source
399
586
{
400
586
  return ((void *)htx->blocks + blk->addr);
401
586
}
Unexecuted instantiation: log.c:htx_get_blk_ptr
Unexecuted instantiation: mworker.c:htx_get_blk_ptr
Unexecuted instantiation: peers.c:htx_get_blk_ptr
Unexecuted instantiation: pool.c:htx_get_blk_ptr
Unexecuted instantiation: proxy.c:htx_get_blk_ptr
Unexecuted instantiation: resolvers.c:htx_get_blk_ptr
Unexecuted instantiation: ring.c:htx_get_blk_ptr
Unexecuted instantiation: sample.c:htx_get_blk_ptr
Unexecuted instantiation: server.c:htx_get_blk_ptr
Unexecuted instantiation: sink.c:htx_get_blk_ptr
Unexecuted instantiation: stats.c:htx_get_blk_ptr
Unexecuted instantiation: stconn.c:htx_get_blk_ptr
Unexecuted instantiation: stick_table.c:htx_get_blk_ptr
Unexecuted instantiation: stream.c:htx_get_blk_ptr
Unexecuted instantiation: tcp_rules.c:htx_get_blk_ptr
Unexecuted instantiation: tcpcheck.c:htx_get_blk_ptr
Unexecuted instantiation: tools.c:htx_get_blk_ptr
Unexecuted instantiation: trace.c:htx_get_blk_ptr
Unexecuted instantiation: vars.c:htx_get_blk_ptr
Unexecuted instantiation: activity.c:htx_get_blk_ptr
Unexecuted instantiation: applet.c:htx_get_blk_ptr
Unexecuted instantiation: backend.c:htx_get_blk_ptr
Unexecuted instantiation: cfgparse.c:htx_get_blk_ptr
Unexecuted instantiation: channel.c:htx_get_blk_ptr
Unexecuted instantiation: check.c:htx_get_blk_ptr
Unexecuted instantiation: cli.c:htx_get_blk_ptr
Unexecuted instantiation: connection.c:htx_get_blk_ptr
Unexecuted instantiation: dns.c:htx_get_blk_ptr
Unexecuted instantiation: dns_ring.c:htx_get_blk_ptr
Unexecuted instantiation: errors.c:htx_get_blk_ptr
Unexecuted instantiation: filters.c:htx_get_blk_ptr
Unexecuted instantiation: flt_http_comp.c:htx_get_blk_ptr
Unexecuted instantiation: frontend.c:htx_get_blk_ptr
Unexecuted instantiation: haterm.c:htx_get_blk_ptr
Unexecuted instantiation: http_ana.c:htx_get_blk_ptr
Unexecuted instantiation: http_ext.c:htx_get_blk_ptr
Unexecuted instantiation: http_fetch.c:htx_get_blk_ptr
Unexecuted instantiation: payload.c:htx_get_blk_ptr
Unexecuted instantiation: stats-html.c:htx_get_blk_ptr
Unexecuted instantiation: stats-json.c:htx_get_blk_ptr
Unexecuted instantiation: cache.c:htx_get_blk_ptr
Unexecuted instantiation: fcgi-app.c:htx_get_blk_ptr
Unexecuted instantiation: flt_spoe.c:htx_get_blk_ptr
402
403
/* Returns the name of the block <blk>, only if it is a header or a
404
 * trailer. Otherwise it returns an empty string.
405
 */
406
static inline struct ist htx_get_blk_name(const struct htx *htx, const struct htx_blk *blk)
407
0
{
408
0
  enum htx_blk_type type = htx_get_blk_type(blk);
409
0
  struct ist ret;
410
411
0
  switch (type) {
412
0
    case HTX_BLK_HDR:
413
0
    case HTX_BLK_TLR:
414
0
      ret = ist2(htx_get_blk_ptr(htx, blk),
415
0
           blk->info & 0xff);
416
0
      break;
417
418
0
    default:
419
0
      return ist("");
420
0
  }
421
0
  return ret;
422
0
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_get_blk_name
Unexecuted instantiation: debug.c:htx_get_blk_name
Unexecuted instantiation: h1_htx.c:htx_get_blk_name
Unexecuted instantiation: haproxy.c:htx_get_blk_name
Unexecuted instantiation: http_htx.c:htx_get_blk_name
Unexecuted instantiation: htx.c:htx_get_blk_name
Unexecuted instantiation: log.c:htx_get_blk_name
Unexecuted instantiation: mworker.c:htx_get_blk_name
Unexecuted instantiation: peers.c:htx_get_blk_name
Unexecuted instantiation: pool.c:htx_get_blk_name
Unexecuted instantiation: proxy.c:htx_get_blk_name
Unexecuted instantiation: resolvers.c:htx_get_blk_name
Unexecuted instantiation: ring.c:htx_get_blk_name
Unexecuted instantiation: sample.c:htx_get_blk_name
Unexecuted instantiation: server.c:htx_get_blk_name
Unexecuted instantiation: sink.c:htx_get_blk_name
Unexecuted instantiation: stats.c:htx_get_blk_name
Unexecuted instantiation: stconn.c:htx_get_blk_name
Unexecuted instantiation: stick_table.c:htx_get_blk_name
Unexecuted instantiation: stream.c:htx_get_blk_name
Unexecuted instantiation: tcp_rules.c:htx_get_blk_name
Unexecuted instantiation: tcpcheck.c:htx_get_blk_name
Unexecuted instantiation: tools.c:htx_get_blk_name
Unexecuted instantiation: trace.c:htx_get_blk_name
Unexecuted instantiation: vars.c:htx_get_blk_name
Unexecuted instantiation: activity.c:htx_get_blk_name
Unexecuted instantiation: applet.c:htx_get_blk_name
Unexecuted instantiation: backend.c:htx_get_blk_name
Unexecuted instantiation: cfgparse.c:htx_get_blk_name
Unexecuted instantiation: channel.c:htx_get_blk_name
Unexecuted instantiation: check.c:htx_get_blk_name
Unexecuted instantiation: cli.c:htx_get_blk_name
Unexecuted instantiation: connection.c:htx_get_blk_name
Unexecuted instantiation: dns.c:htx_get_blk_name
Unexecuted instantiation: dns_ring.c:htx_get_blk_name
Unexecuted instantiation: errors.c:htx_get_blk_name
Unexecuted instantiation: filters.c:htx_get_blk_name
Unexecuted instantiation: flt_http_comp.c:htx_get_blk_name
Unexecuted instantiation: frontend.c:htx_get_blk_name
Unexecuted instantiation: haterm.c:htx_get_blk_name
Unexecuted instantiation: http_ana.c:htx_get_blk_name
Unexecuted instantiation: http_ext.c:htx_get_blk_name
Unexecuted instantiation: http_fetch.c:htx_get_blk_name
Unexecuted instantiation: payload.c:htx_get_blk_name
Unexecuted instantiation: stats-html.c:htx_get_blk_name
Unexecuted instantiation: stats-json.c:htx_get_blk_name
Unexecuted instantiation: cache.c:htx_get_blk_name
Unexecuted instantiation: fcgi-app.c:htx_get_blk_name
Unexecuted instantiation: flt_spoe.c:htx_get_blk_name
423
424
425
/* Returns the value of the block <blk>, depending on its type. If there is no
426
 * value (for end-of blocks), an empty one is returned.
427
 */
428
static inline struct ist htx_get_blk_value(const struct htx *htx, const struct htx_blk *blk)
429
0
{
430
0
  enum htx_blk_type type = htx_get_blk_type(blk);
431
0
  struct ist ret;
432
433
0
  switch (type) {
434
0
    case HTX_BLK_HDR:
435
0
    case HTX_BLK_TLR:
436
0
      ret = ist2(htx_get_blk_ptr(htx, blk) + (blk->info & 0xff),
437
0
           (blk->info >> 8) & 0xfffff);
438
0
      break;
439
440
0
    case HTX_BLK_REQ_SL:
441
0
    case HTX_BLK_RES_SL:
442
0
    case HTX_BLK_DATA:
443
0
      ret = ist2(htx_get_blk_ptr(htx, blk),
444
0
           blk->info & 0xfffffff);
445
0
      break;
446
447
0
    default:
448
0
      return ist("");
449
0
  }
450
0
  return ret;
451
0
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_get_blk_value
Unexecuted instantiation: debug.c:htx_get_blk_value
Unexecuted instantiation: h1_htx.c:htx_get_blk_value
Unexecuted instantiation: haproxy.c:htx_get_blk_value
Unexecuted instantiation: http_htx.c:htx_get_blk_value
Unexecuted instantiation: htx.c:htx_get_blk_value
Unexecuted instantiation: log.c:htx_get_blk_value
Unexecuted instantiation: mworker.c:htx_get_blk_value
Unexecuted instantiation: peers.c:htx_get_blk_value
Unexecuted instantiation: pool.c:htx_get_blk_value
Unexecuted instantiation: proxy.c:htx_get_blk_value
Unexecuted instantiation: resolvers.c:htx_get_blk_value
Unexecuted instantiation: ring.c:htx_get_blk_value
Unexecuted instantiation: sample.c:htx_get_blk_value
Unexecuted instantiation: server.c:htx_get_blk_value
Unexecuted instantiation: sink.c:htx_get_blk_value
Unexecuted instantiation: stats.c:htx_get_blk_value
Unexecuted instantiation: stconn.c:htx_get_blk_value
Unexecuted instantiation: stick_table.c:htx_get_blk_value
Unexecuted instantiation: stream.c:htx_get_blk_value
Unexecuted instantiation: tcp_rules.c:htx_get_blk_value
Unexecuted instantiation: tcpcheck.c:htx_get_blk_value
Unexecuted instantiation: tools.c:htx_get_blk_value
Unexecuted instantiation: trace.c:htx_get_blk_value
Unexecuted instantiation: vars.c:htx_get_blk_value
Unexecuted instantiation: activity.c:htx_get_blk_value
Unexecuted instantiation: applet.c:htx_get_blk_value
Unexecuted instantiation: backend.c:htx_get_blk_value
Unexecuted instantiation: cfgparse.c:htx_get_blk_value
Unexecuted instantiation: channel.c:htx_get_blk_value
Unexecuted instantiation: check.c:htx_get_blk_value
Unexecuted instantiation: cli.c:htx_get_blk_value
Unexecuted instantiation: connection.c:htx_get_blk_value
Unexecuted instantiation: dns.c:htx_get_blk_value
Unexecuted instantiation: dns_ring.c:htx_get_blk_value
Unexecuted instantiation: errors.c:htx_get_blk_value
Unexecuted instantiation: filters.c:htx_get_blk_value
Unexecuted instantiation: flt_http_comp.c:htx_get_blk_value
Unexecuted instantiation: frontend.c:htx_get_blk_value
Unexecuted instantiation: haterm.c:htx_get_blk_value
Unexecuted instantiation: http_ana.c:htx_get_blk_value
Unexecuted instantiation: http_ext.c:htx_get_blk_value
Unexecuted instantiation: http_fetch.c:htx_get_blk_value
Unexecuted instantiation: payload.c:htx_get_blk_value
Unexecuted instantiation: stats-html.c:htx_get_blk_value
Unexecuted instantiation: stats-json.c:htx_get_blk_value
Unexecuted instantiation: cache.c:htx_get_blk_value
Unexecuted instantiation: fcgi-app.c:htx_get_blk_value
Unexecuted instantiation: flt_spoe.c:htx_get_blk_value
452
453
/* Add a new start-line. It returns it on success, otherwise it returns NULL. It
454
 * is the caller responsibility to set sl->info, if necessary.
455
 */
456
static inline struct htx_sl *htx_add_stline(struct htx *htx, enum htx_blk_type type, unsigned int flags,
457
              const struct ist p1, const struct ist p2, const struct ist p3)
458
1.32k
{
459
1.32k
  struct htx_blk *blk;
460
1.32k
  struct htx_sl  *sl;
461
1.32k
  uint32_t size;
462
463
1.32k
  if (type != HTX_BLK_REQ_SL && type != HTX_BLK_RES_SL)
464
0
    return NULL;
465
466
1.32k
  size = sizeof(*sl) + p1.len + p2.len + p3.len;
467
468
1.32k
  blk = htx_add_blk(htx, type, size);
469
1.32k
  if (!blk)
470
0
    return NULL;
471
1.32k
  blk->info += size;
472
473
1.32k
  sl = htx_get_blk_ptr(htx, blk);
474
1.32k
  sl->flags = flags;
475
476
1.32k
  HTX_SL_P1_LEN(sl) = p1.len;
477
1.32k
  HTX_SL_P2_LEN(sl) = p2.len;
478
1.32k
  HTX_SL_P3_LEN(sl) = p3.len;
479
480
1.32k
  memcpy(HTX_SL_P1_PTR(sl), p1.ptr, p1.len);
481
1.32k
  memcpy(HTX_SL_P2_PTR(sl), p2.ptr, p2.len);
482
1.32k
  memcpy(HTX_SL_P3_PTR(sl), p3.ptr, p3.len);
483
484
1.32k
  return sl;
485
1.32k
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_add_stline
Unexecuted instantiation: debug.c:htx_add_stline
h1_htx.c:htx_add_stline
Line
Count
Source
458
1.32k
{
459
1.32k
  struct htx_blk *blk;
460
1.32k
  struct htx_sl  *sl;
461
1.32k
  uint32_t size;
462
463
1.32k
  if (type != HTX_BLK_REQ_SL && type != HTX_BLK_RES_SL)
464
0
    return NULL;
465
466
1.32k
  size = sizeof(*sl) + p1.len + p2.len + p3.len;
467
468
1.32k
  blk = htx_add_blk(htx, type, size);
469
1.32k
  if (!blk)
470
0
    return NULL;
471
1.32k
  blk->info += size;
472
473
1.32k
  sl = htx_get_blk_ptr(htx, blk);
474
1.32k
  sl->flags = flags;
475
476
1.32k
  HTX_SL_P1_LEN(sl) = p1.len;
477
1.32k
  HTX_SL_P2_LEN(sl) = p2.len;
478
1.32k
  HTX_SL_P3_LEN(sl) = p3.len;
479
480
1.32k
  memcpy(HTX_SL_P1_PTR(sl), p1.ptr, p1.len);
481
1.32k
  memcpy(HTX_SL_P2_PTR(sl), p2.ptr, p2.len);
482
1.32k
  memcpy(HTX_SL_P3_PTR(sl), p3.ptr, p3.len);
483
484
1.32k
  return sl;
485
1.32k
}
Unexecuted instantiation: haproxy.c:htx_add_stline
Unexecuted instantiation: http_htx.c:htx_add_stline
Unexecuted instantiation: htx.c:htx_add_stline
Unexecuted instantiation: log.c:htx_add_stline
Unexecuted instantiation: mworker.c:htx_add_stline
Unexecuted instantiation: peers.c:htx_add_stline
Unexecuted instantiation: pool.c:htx_add_stline
Unexecuted instantiation: proxy.c:htx_add_stline
Unexecuted instantiation: resolvers.c:htx_add_stline
Unexecuted instantiation: ring.c:htx_add_stline
Unexecuted instantiation: sample.c:htx_add_stline
Unexecuted instantiation: server.c:htx_add_stline
Unexecuted instantiation: sink.c:htx_add_stline
Unexecuted instantiation: stats.c:htx_add_stline
Unexecuted instantiation: stconn.c:htx_add_stline
Unexecuted instantiation: stick_table.c:htx_add_stline
Unexecuted instantiation: stream.c:htx_add_stline
Unexecuted instantiation: tcp_rules.c:htx_add_stline
Unexecuted instantiation: tcpcheck.c:htx_add_stline
Unexecuted instantiation: tools.c:htx_add_stline
Unexecuted instantiation: trace.c:htx_add_stline
Unexecuted instantiation: vars.c:htx_add_stline
Unexecuted instantiation: activity.c:htx_add_stline
Unexecuted instantiation: applet.c:htx_add_stline
Unexecuted instantiation: backend.c:htx_add_stline
Unexecuted instantiation: cfgparse.c:htx_add_stline
Unexecuted instantiation: channel.c:htx_add_stline
Unexecuted instantiation: check.c:htx_add_stline
Unexecuted instantiation: cli.c:htx_add_stline
Unexecuted instantiation: connection.c:htx_add_stline
Unexecuted instantiation: dns.c:htx_add_stline
Unexecuted instantiation: dns_ring.c:htx_add_stline
Unexecuted instantiation: errors.c:htx_add_stline
Unexecuted instantiation: filters.c:htx_add_stline
Unexecuted instantiation: flt_http_comp.c:htx_add_stline
Unexecuted instantiation: frontend.c:htx_add_stline
Unexecuted instantiation: haterm.c:htx_add_stline
Unexecuted instantiation: http_ana.c:htx_add_stline
Unexecuted instantiation: http_ext.c:htx_add_stline
Unexecuted instantiation: http_fetch.c:htx_add_stline
Unexecuted instantiation: payload.c:htx_add_stline
Unexecuted instantiation: stats-html.c:htx_add_stline
Unexecuted instantiation: stats-json.c:htx_add_stline
Unexecuted instantiation: cache.c:htx_add_stline
Unexecuted instantiation: fcgi-app.c:htx_add_stline
Unexecuted instantiation: flt_spoe.c:htx_add_stline
486
487
/* Adds an HTX block of type HDR in <htx>. It returns the new block on
488
 * success. Otherwise, it returns NULL. The header name is always lower cased.
489
 */
490
static inline struct htx_blk *htx_add_header(struct htx *htx, const struct ist name,
491
               const struct ist value)
492
12.4k
{
493
12.4k
  struct htx_blk *blk, *tailblk;
494
495
12.4k
  if (name.len > 255 || value.len > 1048575)
496
36
    return NULL;
497
498
12.4k
  tailblk = htx_get_tail_blk(htx);
499
12.4k
  blk = htx_add_blk(htx, HTX_BLK_HDR, name.len + value.len);
500
12.4k
  if (!blk)
501
6
    return NULL;
502
503
12.4k
  blk->info += (value.len << 8) + name.len;
504
12.4k
  ist2bin_lc(htx_get_blk_ptr(htx, blk), name);
505
12.4k
  memcpy(htx_get_blk_ptr(htx, blk)  + name.len, value.ptr, value.len);
506
12.4k
  if (tailblk && htx_get_blk_type(tailblk) >= HTX_BLK_EOH)
507
0
    htx->flags |= HTX_FL_UNORDERED;
508
12.4k
  return blk;
509
12.4k
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_add_header
Unexecuted instantiation: debug.c:htx_add_header
h1_htx.c:htx_add_header
Line
Count
Source
492
12.4k
{
493
12.4k
  struct htx_blk *blk, *tailblk;
494
495
12.4k
  if (name.len > 255 || value.len > 1048575)
496
36
    return NULL;
497
498
12.4k
  tailblk = htx_get_tail_blk(htx);
499
12.4k
  blk = htx_add_blk(htx, HTX_BLK_HDR, name.len + value.len);
500
12.4k
  if (!blk)
501
6
    return NULL;
502
503
12.4k
  blk->info += (value.len << 8) + name.len;
504
12.4k
  ist2bin_lc(htx_get_blk_ptr(htx, blk), name);
505
12.4k
  memcpy(htx_get_blk_ptr(htx, blk)  + name.len, value.ptr, value.len);
506
12.4k
  if (tailblk && htx_get_blk_type(tailblk) >= HTX_BLK_EOH)
507
0
    htx->flags |= HTX_FL_UNORDERED;
508
12.4k
  return blk;
509
12.4k
}
Unexecuted instantiation: haproxy.c:htx_add_header
Unexecuted instantiation: http_htx.c:htx_add_header
Unexecuted instantiation: htx.c:htx_add_header
Unexecuted instantiation: log.c:htx_add_header
Unexecuted instantiation: mworker.c:htx_add_header
Unexecuted instantiation: peers.c:htx_add_header
Unexecuted instantiation: pool.c:htx_add_header
Unexecuted instantiation: proxy.c:htx_add_header
Unexecuted instantiation: resolvers.c:htx_add_header
Unexecuted instantiation: ring.c:htx_add_header
Unexecuted instantiation: sample.c:htx_add_header
Unexecuted instantiation: server.c:htx_add_header
Unexecuted instantiation: sink.c:htx_add_header
Unexecuted instantiation: stats.c:htx_add_header
Unexecuted instantiation: stconn.c:htx_add_header
Unexecuted instantiation: stick_table.c:htx_add_header
Unexecuted instantiation: stream.c:htx_add_header
Unexecuted instantiation: tcp_rules.c:htx_add_header
Unexecuted instantiation: tcpcheck.c:htx_add_header
Unexecuted instantiation: tools.c:htx_add_header
Unexecuted instantiation: trace.c:htx_add_header
Unexecuted instantiation: vars.c:htx_add_header
Unexecuted instantiation: activity.c:htx_add_header
Unexecuted instantiation: applet.c:htx_add_header
Unexecuted instantiation: backend.c:htx_add_header
Unexecuted instantiation: cfgparse.c:htx_add_header
Unexecuted instantiation: channel.c:htx_add_header
Unexecuted instantiation: check.c:htx_add_header
Unexecuted instantiation: cli.c:htx_add_header
Unexecuted instantiation: connection.c:htx_add_header
Unexecuted instantiation: dns.c:htx_add_header
Unexecuted instantiation: dns_ring.c:htx_add_header
Unexecuted instantiation: errors.c:htx_add_header
Unexecuted instantiation: filters.c:htx_add_header
Unexecuted instantiation: flt_http_comp.c:htx_add_header
Unexecuted instantiation: frontend.c:htx_add_header
Unexecuted instantiation: haterm.c:htx_add_header
Unexecuted instantiation: http_ana.c:htx_add_header
Unexecuted instantiation: http_ext.c:htx_add_header
Unexecuted instantiation: http_fetch.c:htx_add_header
Unexecuted instantiation: payload.c:htx_add_header
Unexecuted instantiation: stats-html.c:htx_add_header
Unexecuted instantiation: stats-json.c:htx_add_header
Unexecuted instantiation: cache.c:htx_add_header
Unexecuted instantiation: fcgi-app.c:htx_add_header
Unexecuted instantiation: flt_spoe.c:htx_add_header
510
511
/* Adds an HTX block of type TLR in <htx>. It returns the new block on
512
 * success. Otherwise, it returns NULL. The trailer name is always lower cased.
513
 */
514
static inline struct htx_blk *htx_add_trailer(struct htx *htx, const struct ist name,
515
                const struct ist value)
516
0
{
517
0
  struct htx_blk *blk, *tailblk;
518
519
0
  if (name.len > 255 || value.len > 1048575)
520
0
    return NULL;
521
522
0
  tailblk = htx_get_tail_blk(htx);
523
0
  blk = htx_add_blk(htx, HTX_BLK_TLR, name.len + value.len);
524
0
  if (!blk)
525
0
    return NULL;
526
527
0
  blk->info += (value.len << 8) + name.len;
528
0
  ist2bin_lc(htx_get_blk_ptr(htx, blk), name);
529
0
  memcpy(htx_get_blk_ptr(htx, blk)  + name.len, value.ptr, value.len);
530
0
  if (tailblk && htx_get_blk_type(tailblk) >= HTX_BLK_EOT)
531
0
    htx->flags |= HTX_FL_UNORDERED;
532
0
  return blk;
533
0
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_add_trailer
Unexecuted instantiation: debug.c:htx_add_trailer
Unexecuted instantiation: h1_htx.c:htx_add_trailer
Unexecuted instantiation: haproxy.c:htx_add_trailer
Unexecuted instantiation: http_htx.c:htx_add_trailer
Unexecuted instantiation: htx.c:htx_add_trailer
Unexecuted instantiation: log.c:htx_add_trailer
Unexecuted instantiation: mworker.c:htx_add_trailer
Unexecuted instantiation: peers.c:htx_add_trailer
Unexecuted instantiation: pool.c:htx_add_trailer
Unexecuted instantiation: proxy.c:htx_add_trailer
Unexecuted instantiation: resolvers.c:htx_add_trailer
Unexecuted instantiation: ring.c:htx_add_trailer
Unexecuted instantiation: sample.c:htx_add_trailer
Unexecuted instantiation: server.c:htx_add_trailer
Unexecuted instantiation: sink.c:htx_add_trailer
Unexecuted instantiation: stats.c:htx_add_trailer
Unexecuted instantiation: stconn.c:htx_add_trailer
Unexecuted instantiation: stick_table.c:htx_add_trailer
Unexecuted instantiation: stream.c:htx_add_trailer
Unexecuted instantiation: tcp_rules.c:htx_add_trailer
Unexecuted instantiation: tcpcheck.c:htx_add_trailer
Unexecuted instantiation: tools.c:htx_add_trailer
Unexecuted instantiation: trace.c:htx_add_trailer
Unexecuted instantiation: vars.c:htx_add_trailer
Unexecuted instantiation: activity.c:htx_add_trailer
Unexecuted instantiation: applet.c:htx_add_trailer
Unexecuted instantiation: backend.c:htx_add_trailer
Unexecuted instantiation: cfgparse.c:htx_add_trailer
Unexecuted instantiation: channel.c:htx_add_trailer
Unexecuted instantiation: check.c:htx_add_trailer
Unexecuted instantiation: cli.c:htx_add_trailer
Unexecuted instantiation: connection.c:htx_add_trailer
Unexecuted instantiation: dns.c:htx_add_trailer
Unexecuted instantiation: dns_ring.c:htx_add_trailer
Unexecuted instantiation: errors.c:htx_add_trailer
Unexecuted instantiation: filters.c:htx_add_trailer
Unexecuted instantiation: flt_http_comp.c:htx_add_trailer
Unexecuted instantiation: frontend.c:htx_add_trailer
Unexecuted instantiation: haterm.c:htx_add_trailer
Unexecuted instantiation: http_ana.c:htx_add_trailer
Unexecuted instantiation: http_ext.c:htx_add_trailer
Unexecuted instantiation: http_fetch.c:htx_add_trailer
Unexecuted instantiation: payload.c:htx_add_trailer
Unexecuted instantiation: stats-html.c:htx_add_trailer
Unexecuted instantiation: stats-json.c:htx_add_trailer
Unexecuted instantiation: cache.c:htx_add_trailer
Unexecuted instantiation: fcgi-app.c:htx_add_trailer
Unexecuted instantiation: flt_spoe.c:htx_add_trailer
534
535
/* Adds an HTX block of type EOH or EOT in <htx>. It returns the new block on
536
 * success. Otherwise, it returns NULL.
537
 */
538
static inline struct htx_blk *htx_add_endof(struct htx *htx, enum htx_blk_type type)
539
1.28k
{
540
1.28k
  struct htx_blk *blk;
541
542
1.28k
  blk = htx_add_blk(htx, type, 1);
543
1.28k
  if (!blk)
544
4
    return NULL;
545
546
1.27k
  blk->info += 1;
547
1.27k
  return blk;
548
1.28k
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_add_endof
Unexecuted instantiation: debug.c:htx_add_endof
h1_htx.c:htx_add_endof
Line
Count
Source
539
1.28k
{
540
1.28k
  struct htx_blk *blk;
541
542
1.28k
  blk = htx_add_blk(htx, type, 1);
543
1.28k
  if (!blk)
544
4
    return NULL;
545
546
1.27k
  blk->info += 1;
547
1.27k
  return blk;
548
1.28k
}
Unexecuted instantiation: haproxy.c:htx_add_endof
Unexecuted instantiation: http_htx.c:htx_add_endof
Unexecuted instantiation: htx.c:htx_add_endof
Unexecuted instantiation: log.c:htx_add_endof
Unexecuted instantiation: mworker.c:htx_add_endof
Unexecuted instantiation: peers.c:htx_add_endof
Unexecuted instantiation: pool.c:htx_add_endof
Unexecuted instantiation: proxy.c:htx_add_endof
Unexecuted instantiation: resolvers.c:htx_add_endof
Unexecuted instantiation: ring.c:htx_add_endof
Unexecuted instantiation: sample.c:htx_add_endof
Unexecuted instantiation: server.c:htx_add_endof
Unexecuted instantiation: sink.c:htx_add_endof
Unexecuted instantiation: stats.c:htx_add_endof
Unexecuted instantiation: stconn.c:htx_add_endof
Unexecuted instantiation: stick_table.c:htx_add_endof
Unexecuted instantiation: stream.c:htx_add_endof
Unexecuted instantiation: tcp_rules.c:htx_add_endof
Unexecuted instantiation: tcpcheck.c:htx_add_endof
Unexecuted instantiation: tools.c:htx_add_endof
Unexecuted instantiation: trace.c:htx_add_endof
Unexecuted instantiation: vars.c:htx_add_endof
Unexecuted instantiation: activity.c:htx_add_endof
Unexecuted instantiation: applet.c:htx_add_endof
Unexecuted instantiation: backend.c:htx_add_endof
Unexecuted instantiation: cfgparse.c:htx_add_endof
Unexecuted instantiation: channel.c:htx_add_endof
Unexecuted instantiation: check.c:htx_add_endof
Unexecuted instantiation: cli.c:htx_add_endof
Unexecuted instantiation: connection.c:htx_add_endof
Unexecuted instantiation: dns.c:htx_add_endof
Unexecuted instantiation: dns_ring.c:htx_add_endof
Unexecuted instantiation: errors.c:htx_add_endof
Unexecuted instantiation: filters.c:htx_add_endof
Unexecuted instantiation: flt_http_comp.c:htx_add_endof
Unexecuted instantiation: frontend.c:htx_add_endof
Unexecuted instantiation: haterm.c:htx_add_endof
Unexecuted instantiation: http_ana.c:htx_add_endof
Unexecuted instantiation: http_ext.c:htx_add_endof
Unexecuted instantiation: http_fetch.c:htx_add_endof
Unexecuted instantiation: payload.c:htx_add_endof
Unexecuted instantiation: stats-html.c:htx_add_endof
Unexecuted instantiation: stats-json.c:htx_add_endof
Unexecuted instantiation: cache.c:htx_add_endof
Unexecuted instantiation: fcgi-app.c:htx_add_endof
Unexecuted instantiation: flt_spoe.c:htx_add_endof
549
550
/* Add all headers from the list <hdrs> into the HTX message <htx>, followed by
551
 * the EOH. On success, it returns the last block inserted (the EOH), otherwise
552
 * NULL is returned.
553
 *
554
 * Headers with a NULL value (.ptr == NULL) are ignored but not those with empty
555
 * value (.len == 0 but .ptr != NULL)
556
 */
557
static inline struct htx_blk *htx_add_all_headers(struct htx *htx, const struct http_hdr *hdrs)
558
1.32k
{
559
1.32k
  int i;
560
561
14.4k
  for (i = 0; hdrs[i].n.len; i++) {
562
    /* Don't check the value length because a header value may be empty */
563
13.1k
    if (isttest(hdrs[i].v) == 0)
564
684
      continue;
565
12.4k
    if (!htx_add_header(htx, hdrs[i].n, hdrs[i].v))
566
42
      return NULL;
567
12.4k
  }
568
1.28k
  return htx_add_endof(htx, HTX_BLK_EOH);
569
1.32k
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_add_all_headers
Unexecuted instantiation: debug.c:htx_add_all_headers
h1_htx.c:htx_add_all_headers
Line
Count
Source
558
1.32k
{
559
1.32k
  int i;
560
561
14.4k
  for (i = 0; hdrs[i].n.len; i++) {
562
    /* Don't check the value length because a header value may be empty */
563
13.1k
    if (isttest(hdrs[i].v) == 0)
564
684
      continue;
565
12.4k
    if (!htx_add_header(htx, hdrs[i].n, hdrs[i].v))
566
42
      return NULL;
567
12.4k
  }
568
1.28k
  return htx_add_endof(htx, HTX_BLK_EOH);
569
1.32k
}
Unexecuted instantiation: haproxy.c:htx_add_all_headers
Unexecuted instantiation: http_htx.c:htx_add_all_headers
Unexecuted instantiation: htx.c:htx_add_all_headers
Unexecuted instantiation: log.c:htx_add_all_headers
Unexecuted instantiation: mworker.c:htx_add_all_headers
Unexecuted instantiation: peers.c:htx_add_all_headers
Unexecuted instantiation: pool.c:htx_add_all_headers
Unexecuted instantiation: proxy.c:htx_add_all_headers
Unexecuted instantiation: resolvers.c:htx_add_all_headers
Unexecuted instantiation: ring.c:htx_add_all_headers
Unexecuted instantiation: sample.c:htx_add_all_headers
Unexecuted instantiation: server.c:htx_add_all_headers
Unexecuted instantiation: sink.c:htx_add_all_headers
Unexecuted instantiation: stats.c:htx_add_all_headers
Unexecuted instantiation: stconn.c:htx_add_all_headers
Unexecuted instantiation: stick_table.c:htx_add_all_headers
Unexecuted instantiation: stream.c:htx_add_all_headers
Unexecuted instantiation: tcp_rules.c:htx_add_all_headers
Unexecuted instantiation: tcpcheck.c:htx_add_all_headers
Unexecuted instantiation: tools.c:htx_add_all_headers
Unexecuted instantiation: trace.c:htx_add_all_headers
Unexecuted instantiation: vars.c:htx_add_all_headers
Unexecuted instantiation: activity.c:htx_add_all_headers
Unexecuted instantiation: applet.c:htx_add_all_headers
Unexecuted instantiation: backend.c:htx_add_all_headers
Unexecuted instantiation: cfgparse.c:htx_add_all_headers
Unexecuted instantiation: channel.c:htx_add_all_headers
Unexecuted instantiation: check.c:htx_add_all_headers
Unexecuted instantiation: cli.c:htx_add_all_headers
Unexecuted instantiation: connection.c:htx_add_all_headers
Unexecuted instantiation: dns.c:htx_add_all_headers
Unexecuted instantiation: dns_ring.c:htx_add_all_headers
Unexecuted instantiation: errors.c:htx_add_all_headers
Unexecuted instantiation: filters.c:htx_add_all_headers
Unexecuted instantiation: flt_http_comp.c:htx_add_all_headers
Unexecuted instantiation: frontend.c:htx_add_all_headers
Unexecuted instantiation: haterm.c:htx_add_all_headers
Unexecuted instantiation: http_ana.c:htx_add_all_headers
Unexecuted instantiation: http_ext.c:htx_add_all_headers
Unexecuted instantiation: http_fetch.c:htx_add_all_headers
Unexecuted instantiation: payload.c:htx_add_all_headers
Unexecuted instantiation: stats-html.c:htx_add_all_headers
Unexecuted instantiation: stats-json.c:htx_add_all_headers
Unexecuted instantiation: cache.c:htx_add_all_headers
Unexecuted instantiation: fcgi-app.c:htx_add_all_headers
Unexecuted instantiation: flt_spoe.c:htx_add_all_headers
570
571
/* Add all trailers from the list <hdrs> into the HTX message <htx>, followed by
572
 * the EOT. On success, it returns the last block inserted (the EOT), otherwise
573
 * NULL is returned.
574
 *
575
 * Trailers with a NULL value (.ptr == NULL) are ignored but not those with
576
 * empty value (.len == 0 but .ptr != NULL)
577
 */
578
static inline struct htx_blk *htx_add_all_trailers(struct htx *htx, const struct http_hdr *hdrs)
579
0
{
580
0
  int i;
581
582
0
  for (i = 0; hdrs[i].n.len; i++) {
583
    /* Don't check the value length because a header value may be empty */
584
0
    if (isttest(hdrs[i].v) == 0)
585
0
      continue;
586
0
    if (!htx_add_trailer(htx, hdrs[i].n, hdrs[i].v))
587
0
      return NULL;
588
0
  }
589
0
  return htx_add_endof(htx, HTX_BLK_EOT);
590
0
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_add_all_trailers
Unexecuted instantiation: debug.c:htx_add_all_trailers
Unexecuted instantiation: h1_htx.c:htx_add_all_trailers
Unexecuted instantiation: haproxy.c:htx_add_all_trailers
Unexecuted instantiation: http_htx.c:htx_add_all_trailers
Unexecuted instantiation: htx.c:htx_add_all_trailers
Unexecuted instantiation: log.c:htx_add_all_trailers
Unexecuted instantiation: mworker.c:htx_add_all_trailers
Unexecuted instantiation: peers.c:htx_add_all_trailers
Unexecuted instantiation: pool.c:htx_add_all_trailers
Unexecuted instantiation: proxy.c:htx_add_all_trailers
Unexecuted instantiation: resolvers.c:htx_add_all_trailers
Unexecuted instantiation: ring.c:htx_add_all_trailers
Unexecuted instantiation: sample.c:htx_add_all_trailers
Unexecuted instantiation: server.c:htx_add_all_trailers
Unexecuted instantiation: sink.c:htx_add_all_trailers
Unexecuted instantiation: stats.c:htx_add_all_trailers
Unexecuted instantiation: stconn.c:htx_add_all_trailers
Unexecuted instantiation: stick_table.c:htx_add_all_trailers
Unexecuted instantiation: stream.c:htx_add_all_trailers
Unexecuted instantiation: tcp_rules.c:htx_add_all_trailers
Unexecuted instantiation: tcpcheck.c:htx_add_all_trailers
Unexecuted instantiation: tools.c:htx_add_all_trailers
Unexecuted instantiation: trace.c:htx_add_all_trailers
Unexecuted instantiation: vars.c:htx_add_all_trailers
Unexecuted instantiation: activity.c:htx_add_all_trailers
Unexecuted instantiation: applet.c:htx_add_all_trailers
Unexecuted instantiation: backend.c:htx_add_all_trailers
Unexecuted instantiation: cfgparse.c:htx_add_all_trailers
Unexecuted instantiation: channel.c:htx_add_all_trailers
Unexecuted instantiation: check.c:htx_add_all_trailers
Unexecuted instantiation: cli.c:htx_add_all_trailers
Unexecuted instantiation: connection.c:htx_add_all_trailers
Unexecuted instantiation: dns.c:htx_add_all_trailers
Unexecuted instantiation: dns_ring.c:htx_add_all_trailers
Unexecuted instantiation: errors.c:htx_add_all_trailers
Unexecuted instantiation: filters.c:htx_add_all_trailers
Unexecuted instantiation: flt_http_comp.c:htx_add_all_trailers
Unexecuted instantiation: frontend.c:htx_add_all_trailers
Unexecuted instantiation: haterm.c:htx_add_all_trailers
Unexecuted instantiation: http_ana.c:htx_add_all_trailers
Unexecuted instantiation: http_ext.c:htx_add_all_trailers
Unexecuted instantiation: http_fetch.c:htx_add_all_trailers
Unexecuted instantiation: payload.c:htx_add_all_trailers
Unexecuted instantiation: stats-html.c:htx_add_all_trailers
Unexecuted instantiation: stats-json.c:htx_add_all_trailers
Unexecuted instantiation: cache.c:htx_add_all_trailers
Unexecuted instantiation: fcgi-app.c:htx_add_all_trailers
Unexecuted instantiation: flt_spoe.c:htx_add_all_trailers
591
592
/* Removes <n> bytes from the beginning of DATA block <blk>. The block's start
593
 * address and its length are adjusted, and the htx's total data count is
594
 * updated. This is used to mark that part of some data were transferred
595
 * from a DATA block without removing this DATA block. No sanity check is
596
 * performed, the caller is responsible for doing this exclusively on DATA
597
 * blocks, and never removing more than the block's size.
598
 */
599
static inline void htx_cut_data_blk(struct htx *htx, struct htx_blk *blk, uint32_t n)
600
0
{
601
0
  if (blk->addr == htx->end_addr)
602
0
    htx->end_addr += n;
603
0
  blk->addr += n;
604
0
  blk->info -= n;
605
0
  htx->data -= n;
606
0
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_cut_data_blk
Unexecuted instantiation: debug.c:htx_cut_data_blk
Unexecuted instantiation: h1_htx.c:htx_cut_data_blk
Unexecuted instantiation: haproxy.c:htx_cut_data_blk
Unexecuted instantiation: http_htx.c:htx_cut_data_blk
Unexecuted instantiation: htx.c:htx_cut_data_blk
Unexecuted instantiation: log.c:htx_cut_data_blk
Unexecuted instantiation: mworker.c:htx_cut_data_blk
Unexecuted instantiation: peers.c:htx_cut_data_blk
Unexecuted instantiation: pool.c:htx_cut_data_blk
Unexecuted instantiation: proxy.c:htx_cut_data_blk
Unexecuted instantiation: resolvers.c:htx_cut_data_blk
Unexecuted instantiation: ring.c:htx_cut_data_blk
Unexecuted instantiation: sample.c:htx_cut_data_blk
Unexecuted instantiation: server.c:htx_cut_data_blk
Unexecuted instantiation: sink.c:htx_cut_data_blk
Unexecuted instantiation: stats.c:htx_cut_data_blk
Unexecuted instantiation: stconn.c:htx_cut_data_blk
Unexecuted instantiation: stick_table.c:htx_cut_data_blk
Unexecuted instantiation: stream.c:htx_cut_data_blk
Unexecuted instantiation: tcp_rules.c:htx_cut_data_blk
Unexecuted instantiation: tcpcheck.c:htx_cut_data_blk
Unexecuted instantiation: tools.c:htx_cut_data_blk
Unexecuted instantiation: trace.c:htx_cut_data_blk
Unexecuted instantiation: vars.c:htx_cut_data_blk
Unexecuted instantiation: activity.c:htx_cut_data_blk
Unexecuted instantiation: applet.c:htx_cut_data_blk
Unexecuted instantiation: backend.c:htx_cut_data_blk
Unexecuted instantiation: cfgparse.c:htx_cut_data_blk
Unexecuted instantiation: channel.c:htx_cut_data_blk
Unexecuted instantiation: check.c:htx_cut_data_blk
Unexecuted instantiation: cli.c:htx_cut_data_blk
Unexecuted instantiation: connection.c:htx_cut_data_blk
Unexecuted instantiation: dns.c:htx_cut_data_blk
Unexecuted instantiation: dns_ring.c:htx_cut_data_blk
Unexecuted instantiation: errors.c:htx_cut_data_blk
Unexecuted instantiation: filters.c:htx_cut_data_blk
Unexecuted instantiation: flt_http_comp.c:htx_cut_data_blk
Unexecuted instantiation: frontend.c:htx_cut_data_blk
Unexecuted instantiation: haterm.c:htx_cut_data_blk
Unexecuted instantiation: http_ana.c:htx_cut_data_blk
Unexecuted instantiation: http_ext.c:htx_cut_data_blk
Unexecuted instantiation: http_fetch.c:htx_cut_data_blk
Unexecuted instantiation: payload.c:htx_cut_data_blk
Unexecuted instantiation: stats-html.c:htx_cut_data_blk
Unexecuted instantiation: stats-json.c:htx_cut_data_blk
Unexecuted instantiation: cache.c:htx_cut_data_blk
Unexecuted instantiation: fcgi-app.c:htx_cut_data_blk
Unexecuted instantiation: flt_spoe.c:htx_cut_data_blk
607
608
/* Returns the space used by metadata in <htx>. */
609
static inline uint32_t htx_meta_space(const struct htx *htx)
610
17.9k
{
611
17.9k
  if (htx->tail == -1)
612
1.32k
    return 0;
613
614
16.6k
  return ((htx->tail + 1 - htx->head) * sizeof(struct htx_blk));
615
17.9k
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_meta_space
Unexecuted instantiation: debug.c:htx_meta_space
h1_htx.c:htx_meta_space
Line
Count
Source
610
582
{
611
582
  if (htx->tail == -1)
612
0
    return 0;
613
614
582
  return ((htx->tail + 1 - htx->head) * sizeof(struct htx_blk));
615
582
}
Unexecuted instantiation: haproxy.c:htx_meta_space
Unexecuted instantiation: http_htx.c:htx_meta_space
htx.c:htx_meta_space
Line
Count
Source
610
17.3k
{
611
17.3k
  if (htx->tail == -1)
612
1.32k
    return 0;
613
614
16.0k
  return ((htx->tail + 1 - htx->head) * sizeof(struct htx_blk));
615
17.3k
}
Unexecuted instantiation: log.c:htx_meta_space
Unexecuted instantiation: mworker.c:htx_meta_space
Unexecuted instantiation: peers.c:htx_meta_space
Unexecuted instantiation: pool.c:htx_meta_space
Unexecuted instantiation: proxy.c:htx_meta_space
Unexecuted instantiation: resolvers.c:htx_meta_space
Unexecuted instantiation: ring.c:htx_meta_space
Unexecuted instantiation: sample.c:htx_meta_space
Unexecuted instantiation: server.c:htx_meta_space
Unexecuted instantiation: sink.c:htx_meta_space
Unexecuted instantiation: stats.c:htx_meta_space
Unexecuted instantiation: stconn.c:htx_meta_space
Unexecuted instantiation: stick_table.c:htx_meta_space
Unexecuted instantiation: stream.c:htx_meta_space
Unexecuted instantiation: tcp_rules.c:htx_meta_space
Unexecuted instantiation: tcpcheck.c:htx_meta_space
Unexecuted instantiation: tools.c:htx_meta_space
Unexecuted instantiation: trace.c:htx_meta_space
Unexecuted instantiation: vars.c:htx_meta_space
Unexecuted instantiation: activity.c:htx_meta_space
Unexecuted instantiation: applet.c:htx_meta_space
Unexecuted instantiation: backend.c:htx_meta_space
Unexecuted instantiation: cfgparse.c:htx_meta_space
Unexecuted instantiation: channel.c:htx_meta_space
Unexecuted instantiation: check.c:htx_meta_space
Unexecuted instantiation: cli.c:htx_meta_space
Unexecuted instantiation: connection.c:htx_meta_space
Unexecuted instantiation: dns.c:htx_meta_space
Unexecuted instantiation: dns_ring.c:htx_meta_space
Unexecuted instantiation: errors.c:htx_meta_space
Unexecuted instantiation: filters.c:htx_meta_space
Unexecuted instantiation: flt_http_comp.c:htx_meta_space
Unexecuted instantiation: frontend.c:htx_meta_space
Unexecuted instantiation: haterm.c:htx_meta_space
Unexecuted instantiation: http_ana.c:htx_meta_space
Unexecuted instantiation: http_ext.c:htx_meta_space
Unexecuted instantiation: http_fetch.c:htx_meta_space
Unexecuted instantiation: payload.c:htx_meta_space
Unexecuted instantiation: stats-html.c:htx_meta_space
Unexecuted instantiation: stats-json.c:htx_meta_space
Unexecuted instantiation: cache.c:htx_meta_space
Unexecuted instantiation: fcgi-app.c:htx_meta_space
Unexecuted instantiation: flt_spoe.c:htx_meta_space
616
617
/* Returns the space used (payload + metadata) in <htx> */
618
static inline uint32_t htx_used_space(const struct htx *htx)
619
17.9k
{
620
17.9k
  return (htx->data + htx_meta_space(htx));
621
17.9k
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_used_space
Unexecuted instantiation: debug.c:htx_used_space
h1_htx.c:htx_used_space
Line
Count
Source
619
582
{
620
582
  return (htx->data + htx_meta_space(htx));
621
582
}
Unexecuted instantiation: haproxy.c:htx_used_space
Unexecuted instantiation: http_htx.c:htx_used_space
htx.c:htx_used_space
Line
Count
Source
619
17.3k
{
620
17.3k
  return (htx->data + htx_meta_space(htx));
621
17.3k
}
Unexecuted instantiation: log.c:htx_used_space
Unexecuted instantiation: mworker.c:htx_used_space
Unexecuted instantiation: peers.c:htx_used_space
Unexecuted instantiation: pool.c:htx_used_space
Unexecuted instantiation: proxy.c:htx_used_space
Unexecuted instantiation: resolvers.c:htx_used_space
Unexecuted instantiation: ring.c:htx_used_space
Unexecuted instantiation: sample.c:htx_used_space
Unexecuted instantiation: server.c:htx_used_space
Unexecuted instantiation: sink.c:htx_used_space
Unexecuted instantiation: stats.c:htx_used_space
Unexecuted instantiation: stconn.c:htx_used_space
Unexecuted instantiation: stick_table.c:htx_used_space
Unexecuted instantiation: stream.c:htx_used_space
Unexecuted instantiation: tcp_rules.c:htx_used_space
Unexecuted instantiation: tcpcheck.c:htx_used_space
Unexecuted instantiation: tools.c:htx_used_space
Unexecuted instantiation: trace.c:htx_used_space
Unexecuted instantiation: vars.c:htx_used_space
Unexecuted instantiation: activity.c:htx_used_space
Unexecuted instantiation: applet.c:htx_used_space
Unexecuted instantiation: backend.c:htx_used_space
Unexecuted instantiation: cfgparse.c:htx_used_space
Unexecuted instantiation: channel.c:htx_used_space
Unexecuted instantiation: check.c:htx_used_space
Unexecuted instantiation: cli.c:htx_used_space
Unexecuted instantiation: connection.c:htx_used_space
Unexecuted instantiation: dns.c:htx_used_space
Unexecuted instantiation: dns_ring.c:htx_used_space
Unexecuted instantiation: errors.c:htx_used_space
Unexecuted instantiation: filters.c:htx_used_space
Unexecuted instantiation: flt_http_comp.c:htx_used_space
Unexecuted instantiation: frontend.c:htx_used_space
Unexecuted instantiation: haterm.c:htx_used_space
Unexecuted instantiation: http_ana.c:htx_used_space
Unexecuted instantiation: http_ext.c:htx_used_space
Unexecuted instantiation: http_fetch.c:htx_used_space
Unexecuted instantiation: payload.c:htx_used_space
Unexecuted instantiation: stats-html.c:htx_used_space
Unexecuted instantiation: stats-json.c:htx_used_space
Unexecuted instantiation: cache.c:htx_used_space
Unexecuted instantiation: fcgi-app.c:htx_used_space
Unexecuted instantiation: flt_spoe.c:htx_used_space
622
623
/* Returns the free space in <htx> */
624
static inline uint32_t htx_free_space(const struct htx *htx)
625
17.3k
{
626
17.3k
  return (htx->size - htx_used_space(htx));
627
17.3k
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_free_space
Unexecuted instantiation: debug.c:htx_free_space
Unexecuted instantiation: h1_htx.c:htx_free_space
Unexecuted instantiation: haproxy.c:htx_free_space
Unexecuted instantiation: http_htx.c:htx_free_space
htx.c:htx_free_space
Line
Count
Source
625
17.3k
{
626
17.3k
  return (htx->size - htx_used_space(htx));
627
17.3k
}
Unexecuted instantiation: log.c:htx_free_space
Unexecuted instantiation: mworker.c:htx_free_space
Unexecuted instantiation: peers.c:htx_free_space
Unexecuted instantiation: pool.c:htx_free_space
Unexecuted instantiation: proxy.c:htx_free_space
Unexecuted instantiation: resolvers.c:htx_free_space
Unexecuted instantiation: ring.c:htx_free_space
Unexecuted instantiation: sample.c:htx_free_space
Unexecuted instantiation: server.c:htx_free_space
Unexecuted instantiation: sink.c:htx_free_space
Unexecuted instantiation: stats.c:htx_free_space
Unexecuted instantiation: stconn.c:htx_free_space
Unexecuted instantiation: stick_table.c:htx_free_space
Unexecuted instantiation: stream.c:htx_free_space
Unexecuted instantiation: tcp_rules.c:htx_free_space
Unexecuted instantiation: tcpcheck.c:htx_free_space
Unexecuted instantiation: tools.c:htx_free_space
Unexecuted instantiation: trace.c:htx_free_space
Unexecuted instantiation: vars.c:htx_free_space
Unexecuted instantiation: activity.c:htx_free_space
Unexecuted instantiation: applet.c:htx_free_space
Unexecuted instantiation: backend.c:htx_free_space
Unexecuted instantiation: cfgparse.c:htx_free_space
Unexecuted instantiation: channel.c:htx_free_space
Unexecuted instantiation: check.c:htx_free_space
Unexecuted instantiation: cli.c:htx_free_space
Unexecuted instantiation: connection.c:htx_free_space
Unexecuted instantiation: dns.c:htx_free_space
Unexecuted instantiation: dns_ring.c:htx_free_space
Unexecuted instantiation: errors.c:htx_free_space
Unexecuted instantiation: filters.c:htx_free_space
Unexecuted instantiation: flt_http_comp.c:htx_free_space
Unexecuted instantiation: frontend.c:htx_free_space
Unexecuted instantiation: haterm.c:htx_free_space
Unexecuted instantiation: http_ana.c:htx_free_space
Unexecuted instantiation: http_ext.c:htx_free_space
Unexecuted instantiation: http_fetch.c:htx_free_space
Unexecuted instantiation: payload.c:htx_free_space
Unexecuted instantiation: stats-html.c:htx_free_space
Unexecuted instantiation: stats-json.c:htx_free_space
Unexecuted instantiation: cache.c:htx_free_space
Unexecuted instantiation: fcgi-app.c:htx_free_space
Unexecuted instantiation: flt_spoe.c:htx_free_space
628
629
/* Returns the maximum size available to store some data in <htx> if a new block
630
 * is reserved.
631
 */
632
static inline uint32_t htx_free_data_space(const struct htx *htx)
633
17.3k
{
634
17.3k
  uint32_t free = htx_free_space(htx);
635
636
17.3k
  if (free < sizeof(struct htx_blk))
637
22
    return 0;
638
17.3k
  return (free - sizeof(struct htx_blk));
639
17.3k
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_free_data_space
Unexecuted instantiation: debug.c:htx_free_data_space
Unexecuted instantiation: h1_htx.c:htx_free_data_space
Unexecuted instantiation: haproxy.c:htx_free_data_space
Unexecuted instantiation: http_htx.c:htx_free_data_space
htx.c:htx_free_data_space
Line
Count
Source
633
17.3k
{
634
17.3k
  uint32_t free = htx_free_space(htx);
635
636
17.3k
  if (free < sizeof(struct htx_blk))
637
22
    return 0;
638
17.3k
  return (free - sizeof(struct htx_blk));
639
17.3k
}
Unexecuted instantiation: log.c:htx_free_data_space
Unexecuted instantiation: mworker.c:htx_free_data_space
Unexecuted instantiation: peers.c:htx_free_data_space
Unexecuted instantiation: pool.c:htx_free_data_space
Unexecuted instantiation: proxy.c:htx_free_data_space
Unexecuted instantiation: resolvers.c:htx_free_data_space
Unexecuted instantiation: ring.c:htx_free_data_space
Unexecuted instantiation: sample.c:htx_free_data_space
Unexecuted instantiation: server.c:htx_free_data_space
Unexecuted instantiation: sink.c:htx_free_data_space
Unexecuted instantiation: stats.c:htx_free_data_space
Unexecuted instantiation: stconn.c:htx_free_data_space
Unexecuted instantiation: stick_table.c:htx_free_data_space
Unexecuted instantiation: stream.c:htx_free_data_space
Unexecuted instantiation: tcp_rules.c:htx_free_data_space
Unexecuted instantiation: tcpcheck.c:htx_free_data_space
Unexecuted instantiation: tools.c:htx_free_data_space
Unexecuted instantiation: trace.c:htx_free_data_space
Unexecuted instantiation: vars.c:htx_free_data_space
Unexecuted instantiation: activity.c:htx_free_data_space
Unexecuted instantiation: applet.c:htx_free_data_space
Unexecuted instantiation: backend.c:htx_free_data_space
Unexecuted instantiation: cfgparse.c:htx_free_data_space
Unexecuted instantiation: channel.c:htx_free_data_space
Unexecuted instantiation: check.c:htx_free_data_space
Unexecuted instantiation: cli.c:htx_free_data_space
Unexecuted instantiation: connection.c:htx_free_data_space
Unexecuted instantiation: dns.c:htx_free_data_space
Unexecuted instantiation: dns_ring.c:htx_free_data_space
Unexecuted instantiation: errors.c:htx_free_data_space
Unexecuted instantiation: filters.c:htx_free_data_space
Unexecuted instantiation: flt_http_comp.c:htx_free_data_space
Unexecuted instantiation: frontend.c:htx_free_data_space
Unexecuted instantiation: haterm.c:htx_free_data_space
Unexecuted instantiation: http_ana.c:htx_free_data_space
Unexecuted instantiation: http_ext.c:htx_free_data_space
Unexecuted instantiation: http_fetch.c:htx_free_data_space
Unexecuted instantiation: payload.c:htx_free_data_space
Unexecuted instantiation: stats-html.c:htx_free_data_space
Unexecuted instantiation: stats-json.c:htx_free_data_space
Unexecuted instantiation: cache.c:htx_free_data_space
Unexecuted instantiation: fcgi-app.c:htx_free_data_space
Unexecuted instantiation: flt_spoe.c:htx_free_data_space
640
641
/* Returns non-zero only if the HTX message free space wraps */
642
static inline int htx_space_wraps(const struct htx *htx)
643
0
{
644
0
  uint32_t headroom, tailroom;
645
646
0
  headroom = (htx->end_addr - htx->head_addr);
647
0
  tailroom = (htx_pos_to_addr(htx, htx->tail) - htx->tail_addr);
648
649
0
  return (headroom && tailroom);
650
0
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_space_wraps
Unexecuted instantiation: debug.c:htx_space_wraps
Unexecuted instantiation: h1_htx.c:htx_space_wraps
Unexecuted instantiation: haproxy.c:htx_space_wraps
Unexecuted instantiation: http_htx.c:htx_space_wraps
Unexecuted instantiation: htx.c:htx_space_wraps
Unexecuted instantiation: log.c:htx_space_wraps
Unexecuted instantiation: mworker.c:htx_space_wraps
Unexecuted instantiation: peers.c:htx_space_wraps
Unexecuted instantiation: pool.c:htx_space_wraps
Unexecuted instantiation: proxy.c:htx_space_wraps
Unexecuted instantiation: resolvers.c:htx_space_wraps
Unexecuted instantiation: ring.c:htx_space_wraps
Unexecuted instantiation: sample.c:htx_space_wraps
Unexecuted instantiation: server.c:htx_space_wraps
Unexecuted instantiation: sink.c:htx_space_wraps
Unexecuted instantiation: stats.c:htx_space_wraps
Unexecuted instantiation: stconn.c:htx_space_wraps
Unexecuted instantiation: stick_table.c:htx_space_wraps
Unexecuted instantiation: stream.c:htx_space_wraps
Unexecuted instantiation: tcp_rules.c:htx_space_wraps
Unexecuted instantiation: tcpcheck.c:htx_space_wraps
Unexecuted instantiation: tools.c:htx_space_wraps
Unexecuted instantiation: trace.c:htx_space_wraps
Unexecuted instantiation: vars.c:htx_space_wraps
Unexecuted instantiation: activity.c:htx_space_wraps
Unexecuted instantiation: applet.c:htx_space_wraps
Unexecuted instantiation: backend.c:htx_space_wraps
Unexecuted instantiation: cfgparse.c:htx_space_wraps
Unexecuted instantiation: channel.c:htx_space_wraps
Unexecuted instantiation: check.c:htx_space_wraps
Unexecuted instantiation: cli.c:htx_space_wraps
Unexecuted instantiation: connection.c:htx_space_wraps
Unexecuted instantiation: dns.c:htx_space_wraps
Unexecuted instantiation: dns_ring.c:htx_space_wraps
Unexecuted instantiation: errors.c:htx_space_wraps
Unexecuted instantiation: filters.c:htx_space_wraps
Unexecuted instantiation: flt_http_comp.c:htx_space_wraps
Unexecuted instantiation: frontend.c:htx_space_wraps
Unexecuted instantiation: haterm.c:htx_space_wraps
Unexecuted instantiation: http_ana.c:htx_space_wraps
Unexecuted instantiation: http_ext.c:htx_space_wraps
Unexecuted instantiation: http_fetch.c:htx_space_wraps
Unexecuted instantiation: payload.c:htx_space_wraps
Unexecuted instantiation: stats-html.c:htx_space_wraps
Unexecuted instantiation: stats-json.c:htx_space_wraps
Unexecuted instantiation: cache.c:htx_space_wraps
Unexecuted instantiation: fcgi-app.c:htx_space_wraps
Unexecuted instantiation: flt_spoe.c:htx_space_wraps
651
652
/* Returns the maximum size for a block, not exceeding <max> bytes. <max> may be
653
 * set to -1 to have no limit.
654
 */
655
static inline uint32_t htx_get_max_blksz(const struct htx *htx, int32_t max)
656
0
{
657
0
  uint32_t free = htx_free_space(htx);
658
659
0
  if (max != -1 && free > max)
660
0
    free = max;
661
0
  if (free < sizeof(struct htx_blk))
662
0
    return 0;
663
0
  return (free - sizeof(struct htx_blk));
664
0
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_get_max_blksz
Unexecuted instantiation: debug.c:htx_get_max_blksz
Unexecuted instantiation: h1_htx.c:htx_get_max_blksz
Unexecuted instantiation: haproxy.c:htx_get_max_blksz
Unexecuted instantiation: http_htx.c:htx_get_max_blksz
Unexecuted instantiation: htx.c:htx_get_max_blksz
Unexecuted instantiation: log.c:htx_get_max_blksz
Unexecuted instantiation: mworker.c:htx_get_max_blksz
Unexecuted instantiation: peers.c:htx_get_max_blksz
Unexecuted instantiation: pool.c:htx_get_max_blksz
Unexecuted instantiation: proxy.c:htx_get_max_blksz
Unexecuted instantiation: resolvers.c:htx_get_max_blksz
Unexecuted instantiation: ring.c:htx_get_max_blksz
Unexecuted instantiation: sample.c:htx_get_max_blksz
Unexecuted instantiation: server.c:htx_get_max_blksz
Unexecuted instantiation: sink.c:htx_get_max_blksz
Unexecuted instantiation: stats.c:htx_get_max_blksz
Unexecuted instantiation: stconn.c:htx_get_max_blksz
Unexecuted instantiation: stick_table.c:htx_get_max_blksz
Unexecuted instantiation: stream.c:htx_get_max_blksz
Unexecuted instantiation: tcp_rules.c:htx_get_max_blksz
Unexecuted instantiation: tcpcheck.c:htx_get_max_blksz
Unexecuted instantiation: tools.c:htx_get_max_blksz
Unexecuted instantiation: trace.c:htx_get_max_blksz
Unexecuted instantiation: vars.c:htx_get_max_blksz
Unexecuted instantiation: activity.c:htx_get_max_blksz
Unexecuted instantiation: applet.c:htx_get_max_blksz
Unexecuted instantiation: backend.c:htx_get_max_blksz
Unexecuted instantiation: cfgparse.c:htx_get_max_blksz
Unexecuted instantiation: channel.c:htx_get_max_blksz
Unexecuted instantiation: check.c:htx_get_max_blksz
Unexecuted instantiation: cli.c:htx_get_max_blksz
Unexecuted instantiation: connection.c:htx_get_max_blksz
Unexecuted instantiation: dns.c:htx_get_max_blksz
Unexecuted instantiation: dns_ring.c:htx_get_max_blksz
Unexecuted instantiation: errors.c:htx_get_max_blksz
Unexecuted instantiation: filters.c:htx_get_max_blksz
Unexecuted instantiation: flt_http_comp.c:htx_get_max_blksz
Unexecuted instantiation: frontend.c:htx_get_max_blksz
Unexecuted instantiation: haterm.c:htx_get_max_blksz
Unexecuted instantiation: http_ana.c:htx_get_max_blksz
Unexecuted instantiation: http_ext.c:htx_get_max_blksz
Unexecuted instantiation: http_fetch.c:htx_get_max_blksz
Unexecuted instantiation: payload.c:htx_get_max_blksz
Unexecuted instantiation: stats-html.c:htx_get_max_blksz
Unexecuted instantiation: stats-json.c:htx_get_max_blksz
Unexecuted instantiation: cache.c:htx_get_max_blksz
Unexecuted instantiation: fcgi-app.c:htx_get_max_blksz
Unexecuted instantiation: flt_spoe.c:htx_get_max_blksz
665
666
/* Returns 1 if the message has less than 1/4 of its capacity free, otherwise 0 */
667
static inline int htx_almost_full(const struct htx *htx)
668
0
{
669
0
  if (!htx->size || htx_free_space(htx) < htx->size / 4)
670
0
    return 1;
671
0
  return 0;
672
0
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_almost_full
Unexecuted instantiation: debug.c:htx_almost_full
Unexecuted instantiation: h1_htx.c:htx_almost_full
Unexecuted instantiation: haproxy.c:htx_almost_full
Unexecuted instantiation: http_htx.c:htx_almost_full
Unexecuted instantiation: htx.c:htx_almost_full
Unexecuted instantiation: log.c:htx_almost_full
Unexecuted instantiation: mworker.c:htx_almost_full
Unexecuted instantiation: peers.c:htx_almost_full
Unexecuted instantiation: pool.c:htx_almost_full
Unexecuted instantiation: proxy.c:htx_almost_full
Unexecuted instantiation: resolvers.c:htx_almost_full
Unexecuted instantiation: ring.c:htx_almost_full
Unexecuted instantiation: sample.c:htx_almost_full
Unexecuted instantiation: server.c:htx_almost_full
Unexecuted instantiation: sink.c:htx_almost_full
Unexecuted instantiation: stats.c:htx_almost_full
Unexecuted instantiation: stconn.c:htx_almost_full
Unexecuted instantiation: stick_table.c:htx_almost_full
Unexecuted instantiation: stream.c:htx_almost_full
Unexecuted instantiation: tcp_rules.c:htx_almost_full
Unexecuted instantiation: tcpcheck.c:htx_almost_full
Unexecuted instantiation: tools.c:htx_almost_full
Unexecuted instantiation: trace.c:htx_almost_full
Unexecuted instantiation: vars.c:htx_almost_full
Unexecuted instantiation: activity.c:htx_almost_full
Unexecuted instantiation: applet.c:htx_almost_full
Unexecuted instantiation: backend.c:htx_almost_full
Unexecuted instantiation: cfgparse.c:htx_almost_full
Unexecuted instantiation: channel.c:htx_almost_full
Unexecuted instantiation: check.c:htx_almost_full
Unexecuted instantiation: cli.c:htx_almost_full
Unexecuted instantiation: connection.c:htx_almost_full
Unexecuted instantiation: dns.c:htx_almost_full
Unexecuted instantiation: dns_ring.c:htx_almost_full
Unexecuted instantiation: errors.c:htx_almost_full
Unexecuted instantiation: filters.c:htx_almost_full
Unexecuted instantiation: flt_http_comp.c:htx_almost_full
Unexecuted instantiation: frontend.c:htx_almost_full
Unexecuted instantiation: haterm.c:htx_almost_full
Unexecuted instantiation: http_ana.c:htx_almost_full
Unexecuted instantiation: http_ext.c:htx_almost_full
Unexecuted instantiation: http_fetch.c:htx_almost_full
Unexecuted instantiation: payload.c:htx_almost_full
Unexecuted instantiation: stats-html.c:htx_almost_full
Unexecuted instantiation: stats-json.c:htx_almost_full
Unexecuted instantiation: cache.c:htx_almost_full
Unexecuted instantiation: fcgi-app.c:htx_almost_full
Unexecuted instantiation: flt_spoe.c:htx_almost_full
673
674
/* Resets an HTX message */
675
static inline void htx_reset(struct htx *htx)
676
3.04k
{
677
3.04k
  htx->tail = htx->head  = htx->first = -1;
678
3.04k
  htx->data = 0;
679
3.04k
  htx->tail_addr = htx->head_addr = htx->end_addr = 0;
680
3.04k
  htx->flags = HTX_FL_NONE;
681
3.04k
}
fuzz_h1_htx.c:htx_reset
Line
Count
Source
676
3.04k
{
677
3.04k
  htx->tail = htx->head  = htx->first = -1;
678
3.04k
  htx->data = 0;
679
3.04k
  htx->tail_addr = htx->head_addr = htx->end_addr = 0;
680
3.04k
  htx->flags = HTX_FL_NONE;
681
3.04k
}
Unexecuted instantiation: debug.c:htx_reset
Unexecuted instantiation: h1_htx.c:htx_reset
Unexecuted instantiation: haproxy.c:htx_reset
Unexecuted instantiation: http_htx.c:htx_reset
Unexecuted instantiation: htx.c:htx_reset
Unexecuted instantiation: log.c:htx_reset
Unexecuted instantiation: mworker.c:htx_reset
Unexecuted instantiation: peers.c:htx_reset
Unexecuted instantiation: pool.c:htx_reset
Unexecuted instantiation: proxy.c:htx_reset
Unexecuted instantiation: resolvers.c:htx_reset
Unexecuted instantiation: ring.c:htx_reset
Unexecuted instantiation: sample.c:htx_reset
Unexecuted instantiation: server.c:htx_reset
Unexecuted instantiation: sink.c:htx_reset
Unexecuted instantiation: stats.c:htx_reset
Unexecuted instantiation: stconn.c:htx_reset
Unexecuted instantiation: stick_table.c:htx_reset
Unexecuted instantiation: stream.c:htx_reset
Unexecuted instantiation: tcp_rules.c:htx_reset
Unexecuted instantiation: tcpcheck.c:htx_reset
Unexecuted instantiation: tools.c:htx_reset
Unexecuted instantiation: trace.c:htx_reset
Unexecuted instantiation: vars.c:htx_reset
Unexecuted instantiation: activity.c:htx_reset
Unexecuted instantiation: applet.c:htx_reset
Unexecuted instantiation: backend.c:htx_reset
Unexecuted instantiation: cfgparse.c:htx_reset
Unexecuted instantiation: channel.c:htx_reset
Unexecuted instantiation: check.c:htx_reset
Unexecuted instantiation: cli.c:htx_reset
Unexecuted instantiation: connection.c:htx_reset
Unexecuted instantiation: dns.c:htx_reset
Unexecuted instantiation: dns_ring.c:htx_reset
Unexecuted instantiation: errors.c:htx_reset
Unexecuted instantiation: filters.c:htx_reset
Unexecuted instantiation: flt_http_comp.c:htx_reset
Unexecuted instantiation: frontend.c:htx_reset
Unexecuted instantiation: haterm.c:htx_reset
Unexecuted instantiation: http_ana.c:htx_reset
Unexecuted instantiation: http_ext.c:htx_reset
Unexecuted instantiation: http_fetch.c:htx_reset
Unexecuted instantiation: payload.c:htx_reset
Unexecuted instantiation: stats-html.c:htx_reset
Unexecuted instantiation: stats-json.c:htx_reset
Unexecuted instantiation: cache.c:htx_reset
Unexecuted instantiation: fcgi-app.c:htx_reset
Unexecuted instantiation: flt_spoe.c:htx_reset
682
683
/* Returns the available room for raw data in buffer <buf> once HTX overhead is
684
 * taken into account (one HTX header and two blocks). The purpose is to figure
685
 * the optimal fill length to avoid copies.
686
 */
687
static inline size_t buf_room_for_htx_data(const struct buffer *buf)
688
442
{
689
442
  size_t room;
690
691
442
  room = b_room(buf);
692
442
  if (room <= HTX_BUF_OVERHEAD)
693
442
    room = 0;
694
0
  else
695
0
    room -= HTX_BUF_OVERHEAD;
696
697
442
  return room;
698
442
}
Unexecuted instantiation: fuzz_h1_htx.c:buf_room_for_htx_data
Unexecuted instantiation: debug.c:buf_room_for_htx_data
h1_htx.c:buf_room_for_htx_data
Line
Count
Source
688
442
{
689
442
  size_t room;
690
691
442
  room = b_room(buf);
692
442
  if (room <= HTX_BUF_OVERHEAD)
693
442
    room = 0;
694
0
  else
695
0
    room -= HTX_BUF_OVERHEAD;
696
697
442
  return room;
698
442
}
Unexecuted instantiation: haproxy.c:buf_room_for_htx_data
Unexecuted instantiation: http_htx.c:buf_room_for_htx_data
Unexecuted instantiation: htx.c:buf_room_for_htx_data
Unexecuted instantiation: log.c:buf_room_for_htx_data
Unexecuted instantiation: mworker.c:buf_room_for_htx_data
Unexecuted instantiation: peers.c:buf_room_for_htx_data
Unexecuted instantiation: pool.c:buf_room_for_htx_data
Unexecuted instantiation: proxy.c:buf_room_for_htx_data
Unexecuted instantiation: resolvers.c:buf_room_for_htx_data
Unexecuted instantiation: ring.c:buf_room_for_htx_data
Unexecuted instantiation: sample.c:buf_room_for_htx_data
Unexecuted instantiation: server.c:buf_room_for_htx_data
Unexecuted instantiation: sink.c:buf_room_for_htx_data
Unexecuted instantiation: stats.c:buf_room_for_htx_data
Unexecuted instantiation: stconn.c:buf_room_for_htx_data
Unexecuted instantiation: stick_table.c:buf_room_for_htx_data
Unexecuted instantiation: stream.c:buf_room_for_htx_data
Unexecuted instantiation: tcp_rules.c:buf_room_for_htx_data
Unexecuted instantiation: tcpcheck.c:buf_room_for_htx_data
Unexecuted instantiation: tools.c:buf_room_for_htx_data
Unexecuted instantiation: trace.c:buf_room_for_htx_data
Unexecuted instantiation: vars.c:buf_room_for_htx_data
Unexecuted instantiation: activity.c:buf_room_for_htx_data
Unexecuted instantiation: applet.c:buf_room_for_htx_data
Unexecuted instantiation: backend.c:buf_room_for_htx_data
Unexecuted instantiation: cfgparse.c:buf_room_for_htx_data
Unexecuted instantiation: channel.c:buf_room_for_htx_data
Unexecuted instantiation: check.c:buf_room_for_htx_data
Unexecuted instantiation: cli.c:buf_room_for_htx_data
Unexecuted instantiation: connection.c:buf_room_for_htx_data
Unexecuted instantiation: dns.c:buf_room_for_htx_data
Unexecuted instantiation: dns_ring.c:buf_room_for_htx_data
Unexecuted instantiation: errors.c:buf_room_for_htx_data
Unexecuted instantiation: filters.c:buf_room_for_htx_data
Unexecuted instantiation: flt_http_comp.c:buf_room_for_htx_data
Unexecuted instantiation: frontend.c:buf_room_for_htx_data
Unexecuted instantiation: haterm.c:buf_room_for_htx_data
Unexecuted instantiation: http_ana.c:buf_room_for_htx_data
Unexecuted instantiation: http_ext.c:buf_room_for_htx_data
Unexecuted instantiation: http_fetch.c:buf_room_for_htx_data
Unexecuted instantiation: payload.c:buf_room_for_htx_data
Unexecuted instantiation: stats-html.c:buf_room_for_htx_data
Unexecuted instantiation: stats-json.c:buf_room_for_htx_data
Unexecuted instantiation: cache.c:buf_room_for_htx_data
Unexecuted instantiation: fcgi-app.c:buf_room_for_htx_data
Unexecuted instantiation: flt_spoe.c:buf_room_for_htx_data
699
700
701
/* Returns an HTX message using the buffer <buf>. Unlike htx_from_buf(), this
702
 * function does not update the buffer. So if the HTX message is updated, the
703
 * caller must call htx_to_buf() to be sure to also update the underlying buffer
704
 * accordingly.  Note that it always returns a valid pointer, either to an
705
 * initialized buffer or to the empty buffer. This function must always be
706
 * called with a buffer containing an HTX message (or an empty buffer).
707
 */
708
static inline struct htx *htxbuf(const struct buffer *buf)
709
3.04k
{
710
3.04k
  struct htx *htx;
711
712
3.04k
  if (b_is_null(buf))
713
0
    return &htx_empty;
714
3.04k
  htx = ((struct htx *)(buf->area));
715
3.04k
  if (!b_data(buf)) {
716
3.04k
    htx->size = buf->size - sizeof(*htx);
717
3.04k
    htx_reset(htx);
718
3.04k
  }
719
3.04k
  return htx;
720
3.04k
}
fuzz_h1_htx.c:htxbuf
Line
Count
Source
709
3.04k
{
710
3.04k
  struct htx *htx;
711
712
3.04k
  if (b_is_null(buf))
713
0
    return &htx_empty;
714
3.04k
  htx = ((struct htx *)(buf->area));
715
3.04k
  if (!b_data(buf)) {
716
3.04k
    htx->size = buf->size - sizeof(*htx);
717
3.04k
    htx_reset(htx);
718
3.04k
  }
719
3.04k
  return htx;
720
3.04k
}
Unexecuted instantiation: debug.c:htxbuf
Unexecuted instantiation: h1_htx.c:htxbuf
Unexecuted instantiation: haproxy.c:htxbuf
Unexecuted instantiation: http_htx.c:htxbuf
Unexecuted instantiation: htx.c:htxbuf
Unexecuted instantiation: log.c:htxbuf
Unexecuted instantiation: mworker.c:htxbuf
Unexecuted instantiation: peers.c:htxbuf
Unexecuted instantiation: pool.c:htxbuf
Unexecuted instantiation: proxy.c:htxbuf
Unexecuted instantiation: resolvers.c:htxbuf
Unexecuted instantiation: ring.c:htxbuf
Unexecuted instantiation: sample.c:htxbuf
Unexecuted instantiation: server.c:htxbuf
Unexecuted instantiation: sink.c:htxbuf
Unexecuted instantiation: stats.c:htxbuf
Unexecuted instantiation: stconn.c:htxbuf
Unexecuted instantiation: stick_table.c:htxbuf
Unexecuted instantiation: stream.c:htxbuf
Unexecuted instantiation: tcp_rules.c:htxbuf
Unexecuted instantiation: tcpcheck.c:htxbuf
Unexecuted instantiation: tools.c:htxbuf
Unexecuted instantiation: trace.c:htxbuf
Unexecuted instantiation: vars.c:htxbuf
Unexecuted instantiation: activity.c:htxbuf
Unexecuted instantiation: applet.c:htxbuf
Unexecuted instantiation: backend.c:htxbuf
Unexecuted instantiation: cfgparse.c:htxbuf
Unexecuted instantiation: channel.c:htxbuf
Unexecuted instantiation: check.c:htxbuf
Unexecuted instantiation: cli.c:htxbuf
Unexecuted instantiation: connection.c:htxbuf
Unexecuted instantiation: dns.c:htxbuf
Unexecuted instantiation: dns_ring.c:htxbuf
Unexecuted instantiation: errors.c:htxbuf
Unexecuted instantiation: filters.c:htxbuf
Unexecuted instantiation: flt_http_comp.c:htxbuf
Unexecuted instantiation: frontend.c:htxbuf
Unexecuted instantiation: haterm.c:htxbuf
Unexecuted instantiation: http_ana.c:htxbuf
Unexecuted instantiation: http_ext.c:htxbuf
Unexecuted instantiation: http_fetch.c:htxbuf
Unexecuted instantiation: payload.c:htxbuf
Unexecuted instantiation: stats-html.c:htxbuf
Unexecuted instantiation: stats-json.c:htxbuf
Unexecuted instantiation: cache.c:htxbuf
Unexecuted instantiation: fcgi-app.c:htxbuf
Unexecuted instantiation: flt_spoe.c:htxbuf
721
722
/* Returns an HTX message using the buffer <buf>. <buf> is updated to appear as
723
 * full. It should be used when you want to add something into the HTX message,
724
 * so the call to htx_to_buf() may be skipped. But, it is the caller
725
 * responsibility to call htx_to_buf() to reset <buf> if it is relevant. The
726
 * returned pointer is always valid. This function must always be called with a
727
 * buffer containing an HTX message (or an empty buffer).
728
 *
729
 * The caller can call htxbuf() function to avoid any update of the buffer.
730
 */
731
static inline struct htx *htx_from_buf(struct buffer *buf)
732
3.04k
{
733
3.04k
  struct htx *htx = htxbuf(buf);
734
735
3.04k
  b_set_data(buf, b_size(buf));
736
3.04k
  return htx;
737
3.04k
}
fuzz_h1_htx.c:htx_from_buf
Line
Count
Source
732
3.04k
{
733
3.04k
  struct htx *htx = htxbuf(buf);
734
735
3.04k
  b_set_data(buf, b_size(buf));
736
3.04k
  return htx;
737
3.04k
}
Unexecuted instantiation: debug.c:htx_from_buf
Unexecuted instantiation: h1_htx.c:htx_from_buf
Unexecuted instantiation: haproxy.c:htx_from_buf
Unexecuted instantiation: http_htx.c:htx_from_buf
Unexecuted instantiation: htx.c:htx_from_buf
Unexecuted instantiation: log.c:htx_from_buf
Unexecuted instantiation: mworker.c:htx_from_buf
Unexecuted instantiation: peers.c:htx_from_buf
Unexecuted instantiation: pool.c:htx_from_buf
Unexecuted instantiation: proxy.c:htx_from_buf
Unexecuted instantiation: resolvers.c:htx_from_buf
Unexecuted instantiation: ring.c:htx_from_buf
Unexecuted instantiation: sample.c:htx_from_buf
Unexecuted instantiation: server.c:htx_from_buf
Unexecuted instantiation: sink.c:htx_from_buf
Unexecuted instantiation: stats.c:htx_from_buf
Unexecuted instantiation: stconn.c:htx_from_buf
Unexecuted instantiation: stick_table.c:htx_from_buf
Unexecuted instantiation: stream.c:htx_from_buf
Unexecuted instantiation: tcp_rules.c:htx_from_buf
Unexecuted instantiation: tcpcheck.c:htx_from_buf
Unexecuted instantiation: tools.c:htx_from_buf
Unexecuted instantiation: trace.c:htx_from_buf
Unexecuted instantiation: vars.c:htx_from_buf
Unexecuted instantiation: activity.c:htx_from_buf
Unexecuted instantiation: applet.c:htx_from_buf
Unexecuted instantiation: backend.c:htx_from_buf
Unexecuted instantiation: cfgparse.c:htx_from_buf
Unexecuted instantiation: channel.c:htx_from_buf
Unexecuted instantiation: check.c:htx_from_buf
Unexecuted instantiation: cli.c:htx_from_buf
Unexecuted instantiation: connection.c:htx_from_buf
Unexecuted instantiation: dns.c:htx_from_buf
Unexecuted instantiation: dns_ring.c:htx_from_buf
Unexecuted instantiation: errors.c:htx_from_buf
Unexecuted instantiation: filters.c:htx_from_buf
Unexecuted instantiation: flt_http_comp.c:htx_from_buf
Unexecuted instantiation: frontend.c:htx_from_buf
Unexecuted instantiation: haterm.c:htx_from_buf
Unexecuted instantiation: http_ana.c:htx_from_buf
Unexecuted instantiation: http_ext.c:htx_from_buf
Unexecuted instantiation: http_fetch.c:htx_from_buf
Unexecuted instantiation: payload.c:htx_from_buf
Unexecuted instantiation: stats-html.c:htx_from_buf
Unexecuted instantiation: stats-json.c:htx_from_buf
Unexecuted instantiation: cache.c:htx_from_buf
Unexecuted instantiation: fcgi-app.c:htx_from_buf
Unexecuted instantiation: flt_spoe.c:htx_from_buf
738
739
/* Update <buf> accordingly to the HTX message <htx> */
740
static inline void htx_to_buf(struct htx *htx, struct buffer *buf)
741
0
{
742
0
  if ((htx->head == -1) &&
743
0
      !(htx->flags & (HTX_FL_PARSING_ERROR|HTX_FL_PROCESSING_ERROR))) {
744
0
    htx_reset(htx);
745
0
    b_set_data(buf, 0);
746
0
  }
747
0
  else
748
0
    b_set_data(buf, b_size(buf));
749
0
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_to_buf
Unexecuted instantiation: debug.c:htx_to_buf
Unexecuted instantiation: h1_htx.c:htx_to_buf
Unexecuted instantiation: haproxy.c:htx_to_buf
Unexecuted instantiation: http_htx.c:htx_to_buf
Unexecuted instantiation: htx.c:htx_to_buf
Unexecuted instantiation: log.c:htx_to_buf
Unexecuted instantiation: mworker.c:htx_to_buf
Unexecuted instantiation: peers.c:htx_to_buf
Unexecuted instantiation: pool.c:htx_to_buf
Unexecuted instantiation: proxy.c:htx_to_buf
Unexecuted instantiation: resolvers.c:htx_to_buf
Unexecuted instantiation: ring.c:htx_to_buf
Unexecuted instantiation: sample.c:htx_to_buf
Unexecuted instantiation: server.c:htx_to_buf
Unexecuted instantiation: sink.c:htx_to_buf
Unexecuted instantiation: stats.c:htx_to_buf
Unexecuted instantiation: stconn.c:htx_to_buf
Unexecuted instantiation: stick_table.c:htx_to_buf
Unexecuted instantiation: stream.c:htx_to_buf
Unexecuted instantiation: tcp_rules.c:htx_to_buf
Unexecuted instantiation: tcpcheck.c:htx_to_buf
Unexecuted instantiation: tools.c:htx_to_buf
Unexecuted instantiation: trace.c:htx_to_buf
Unexecuted instantiation: vars.c:htx_to_buf
Unexecuted instantiation: activity.c:htx_to_buf
Unexecuted instantiation: applet.c:htx_to_buf
Unexecuted instantiation: backend.c:htx_to_buf
Unexecuted instantiation: cfgparse.c:htx_to_buf
Unexecuted instantiation: channel.c:htx_to_buf
Unexecuted instantiation: check.c:htx_to_buf
Unexecuted instantiation: cli.c:htx_to_buf
Unexecuted instantiation: connection.c:htx_to_buf
Unexecuted instantiation: dns.c:htx_to_buf
Unexecuted instantiation: dns_ring.c:htx_to_buf
Unexecuted instantiation: errors.c:htx_to_buf
Unexecuted instantiation: filters.c:htx_to_buf
Unexecuted instantiation: flt_http_comp.c:htx_to_buf
Unexecuted instantiation: frontend.c:htx_to_buf
Unexecuted instantiation: haterm.c:htx_to_buf
Unexecuted instantiation: http_ana.c:htx_to_buf
Unexecuted instantiation: http_ext.c:htx_to_buf
Unexecuted instantiation: http_fetch.c:htx_to_buf
Unexecuted instantiation: payload.c:htx_to_buf
Unexecuted instantiation: stats-html.c:htx_to_buf
Unexecuted instantiation: stats-json.c:htx_to_buf
Unexecuted instantiation: cache.c:htx_to_buf
Unexecuted instantiation: fcgi-app.c:htx_to_buf
Unexecuted instantiation: flt_spoe.c:htx_to_buf
750
751
/* Returns 1 if the message is empty, otherwise it returns 0. Note that it is
752
 * illegal to call this with htx == NULL.
753
 */
754
static inline int htx_is_empty(const struct htx *htx)
755
44
{
756
44
  return (htx->head == -1);
757
44
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_is_empty
Unexecuted instantiation: debug.c:htx_is_empty
h1_htx.c:htx_is_empty
Line
Count
Source
755
44
{
756
44
  return (htx->head == -1);
757
44
}
Unexecuted instantiation: haproxy.c:htx_is_empty
Unexecuted instantiation: http_htx.c:htx_is_empty
Unexecuted instantiation: htx.c:htx_is_empty
Unexecuted instantiation: log.c:htx_is_empty
Unexecuted instantiation: mworker.c:htx_is_empty
Unexecuted instantiation: peers.c:htx_is_empty
Unexecuted instantiation: pool.c:htx_is_empty
Unexecuted instantiation: proxy.c:htx_is_empty
Unexecuted instantiation: resolvers.c:htx_is_empty
Unexecuted instantiation: ring.c:htx_is_empty
Unexecuted instantiation: sample.c:htx_is_empty
Unexecuted instantiation: server.c:htx_is_empty
Unexecuted instantiation: sink.c:htx_is_empty
Unexecuted instantiation: stats.c:htx_is_empty
Unexecuted instantiation: stconn.c:htx_is_empty
Unexecuted instantiation: stick_table.c:htx_is_empty
Unexecuted instantiation: stream.c:htx_is_empty
Unexecuted instantiation: tcp_rules.c:htx_is_empty
Unexecuted instantiation: tcpcheck.c:htx_is_empty
Unexecuted instantiation: tools.c:htx_is_empty
Unexecuted instantiation: trace.c:htx_is_empty
Unexecuted instantiation: vars.c:htx_is_empty
Unexecuted instantiation: activity.c:htx_is_empty
Unexecuted instantiation: applet.c:htx_is_empty
Unexecuted instantiation: backend.c:htx_is_empty
Unexecuted instantiation: cfgparse.c:htx_is_empty
Unexecuted instantiation: channel.c:htx_is_empty
Unexecuted instantiation: check.c:htx_is_empty
Unexecuted instantiation: cli.c:htx_is_empty
Unexecuted instantiation: connection.c:htx_is_empty
Unexecuted instantiation: dns.c:htx_is_empty
Unexecuted instantiation: dns_ring.c:htx_is_empty
Unexecuted instantiation: errors.c:htx_is_empty
Unexecuted instantiation: filters.c:htx_is_empty
Unexecuted instantiation: flt_http_comp.c:htx_is_empty
Unexecuted instantiation: frontend.c:htx_is_empty
Unexecuted instantiation: haterm.c:htx_is_empty
Unexecuted instantiation: http_ana.c:htx_is_empty
Unexecuted instantiation: http_ext.c:htx_is_empty
Unexecuted instantiation: http_fetch.c:htx_is_empty
Unexecuted instantiation: payload.c:htx_is_empty
Unexecuted instantiation: stats-html.c:htx_is_empty
Unexecuted instantiation: stats-json.c:htx_is_empty
Unexecuted instantiation: cache.c:htx_is_empty
Unexecuted instantiation: fcgi-app.c:htx_is_empty
Unexecuted instantiation: flt_spoe.c:htx_is_empty
758
759
/* Returns 1 if the message is not empty, otherwise it returns 0. Note that it
760
 * is illegal to call this with htx == NULL.
761
 */
762
static inline int htx_is_not_empty(const struct htx *htx)
763
0
{
764
0
  return (htx->head != -1);
765
0
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_is_not_empty
Unexecuted instantiation: debug.c:htx_is_not_empty
Unexecuted instantiation: h1_htx.c:htx_is_not_empty
Unexecuted instantiation: haproxy.c:htx_is_not_empty
Unexecuted instantiation: http_htx.c:htx_is_not_empty
Unexecuted instantiation: htx.c:htx_is_not_empty
Unexecuted instantiation: log.c:htx_is_not_empty
Unexecuted instantiation: mworker.c:htx_is_not_empty
Unexecuted instantiation: peers.c:htx_is_not_empty
Unexecuted instantiation: pool.c:htx_is_not_empty
Unexecuted instantiation: proxy.c:htx_is_not_empty
Unexecuted instantiation: resolvers.c:htx_is_not_empty
Unexecuted instantiation: ring.c:htx_is_not_empty
Unexecuted instantiation: sample.c:htx_is_not_empty
Unexecuted instantiation: server.c:htx_is_not_empty
Unexecuted instantiation: sink.c:htx_is_not_empty
Unexecuted instantiation: stats.c:htx_is_not_empty
Unexecuted instantiation: stconn.c:htx_is_not_empty
Unexecuted instantiation: stick_table.c:htx_is_not_empty
Unexecuted instantiation: stream.c:htx_is_not_empty
Unexecuted instantiation: tcp_rules.c:htx_is_not_empty
Unexecuted instantiation: tcpcheck.c:htx_is_not_empty
Unexecuted instantiation: tools.c:htx_is_not_empty
Unexecuted instantiation: trace.c:htx_is_not_empty
Unexecuted instantiation: vars.c:htx_is_not_empty
Unexecuted instantiation: activity.c:htx_is_not_empty
Unexecuted instantiation: applet.c:htx_is_not_empty
Unexecuted instantiation: backend.c:htx_is_not_empty
Unexecuted instantiation: cfgparse.c:htx_is_not_empty
Unexecuted instantiation: channel.c:htx_is_not_empty
Unexecuted instantiation: check.c:htx_is_not_empty
Unexecuted instantiation: cli.c:htx_is_not_empty
Unexecuted instantiation: connection.c:htx_is_not_empty
Unexecuted instantiation: dns.c:htx_is_not_empty
Unexecuted instantiation: dns_ring.c:htx_is_not_empty
Unexecuted instantiation: errors.c:htx_is_not_empty
Unexecuted instantiation: filters.c:htx_is_not_empty
Unexecuted instantiation: flt_http_comp.c:htx_is_not_empty
Unexecuted instantiation: frontend.c:htx_is_not_empty
Unexecuted instantiation: haterm.c:htx_is_not_empty
Unexecuted instantiation: http_ana.c:htx_is_not_empty
Unexecuted instantiation: http_ext.c:htx_is_not_empty
Unexecuted instantiation: http_fetch.c:htx_is_not_empty
Unexecuted instantiation: payload.c:htx_is_not_empty
Unexecuted instantiation: stats-html.c:htx_is_not_empty
Unexecuted instantiation: stats-json.c:htx_is_not_empty
Unexecuted instantiation: cache.c:htx_is_not_empty
Unexecuted instantiation: fcgi-app.c:htx_is_not_empty
Unexecuted instantiation: flt_spoe.c:htx_is_not_empty
766
767
/* Returns 1 if no more data are expected for the message <htx>. Otherwise it
768
 * returns 0. Note that it is illegal to call this with htx == NULL. This
769
 * function relies on the HTX_FL_EOM flags. It means tunneled data are not
770
 * considered here.
771
 */
772
static inline int htx_expect_more(const struct htx *htx)
773
0
{
774
0
  return !(htx->flags & HTX_FL_EOM);
775
0
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_expect_more
Unexecuted instantiation: debug.c:htx_expect_more
Unexecuted instantiation: h1_htx.c:htx_expect_more
Unexecuted instantiation: haproxy.c:htx_expect_more
Unexecuted instantiation: http_htx.c:htx_expect_more
Unexecuted instantiation: htx.c:htx_expect_more
Unexecuted instantiation: log.c:htx_expect_more
Unexecuted instantiation: mworker.c:htx_expect_more
Unexecuted instantiation: peers.c:htx_expect_more
Unexecuted instantiation: pool.c:htx_expect_more
Unexecuted instantiation: proxy.c:htx_expect_more
Unexecuted instantiation: resolvers.c:htx_expect_more
Unexecuted instantiation: ring.c:htx_expect_more
Unexecuted instantiation: sample.c:htx_expect_more
Unexecuted instantiation: server.c:htx_expect_more
Unexecuted instantiation: sink.c:htx_expect_more
Unexecuted instantiation: stats.c:htx_expect_more
Unexecuted instantiation: stconn.c:htx_expect_more
Unexecuted instantiation: stick_table.c:htx_expect_more
Unexecuted instantiation: stream.c:htx_expect_more
Unexecuted instantiation: tcp_rules.c:htx_expect_more
Unexecuted instantiation: tcpcheck.c:htx_expect_more
Unexecuted instantiation: tools.c:htx_expect_more
Unexecuted instantiation: trace.c:htx_expect_more
Unexecuted instantiation: vars.c:htx_expect_more
Unexecuted instantiation: activity.c:htx_expect_more
Unexecuted instantiation: applet.c:htx_expect_more
Unexecuted instantiation: backend.c:htx_expect_more
Unexecuted instantiation: cfgparse.c:htx_expect_more
Unexecuted instantiation: channel.c:htx_expect_more
Unexecuted instantiation: check.c:htx_expect_more
Unexecuted instantiation: cli.c:htx_expect_more
Unexecuted instantiation: connection.c:htx_expect_more
Unexecuted instantiation: dns.c:htx_expect_more
Unexecuted instantiation: dns_ring.c:htx_expect_more
Unexecuted instantiation: errors.c:htx_expect_more
Unexecuted instantiation: filters.c:htx_expect_more
Unexecuted instantiation: flt_http_comp.c:htx_expect_more
Unexecuted instantiation: frontend.c:htx_expect_more
Unexecuted instantiation: haterm.c:htx_expect_more
Unexecuted instantiation: http_ana.c:htx_expect_more
Unexecuted instantiation: http_ext.c:htx_expect_more
Unexecuted instantiation: http_fetch.c:htx_expect_more
Unexecuted instantiation: payload.c:htx_expect_more
Unexecuted instantiation: stats-html.c:htx_expect_more
Unexecuted instantiation: stats-json.c:htx_expect_more
Unexecuted instantiation: cache.c:htx_expect_more
Unexecuted instantiation: fcgi-app.c:htx_expect_more
Unexecuted instantiation: flt_spoe.c:htx_expect_more
776
777
/* Set EOM flag in <htx>. This function is useful if the HTX message is empty.
778
 * In this case, an EOT block is appended first to ensure the EOM will be
779
 * forwarded as expected. This is a workaround as it is not possibly currently
780
 * to push an empty HTX DATA block.
781
 *
782
 * Returns 1 on success else 0.
783
 */
784
static inline int htx_set_eom(struct htx *htx)
785
0
{
786
0
  if (htx_is_empty(htx)) {
787
0
    if (!htx_add_endof(htx, HTX_BLK_EOT))
788
0
      return 0;
789
0
  }
790
0
791
0
  htx->flags |= HTX_FL_EOM;
792
0
  return 1;
793
0
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_set_eom
Unexecuted instantiation: debug.c:htx_set_eom
Unexecuted instantiation: h1_htx.c:htx_set_eom
Unexecuted instantiation: haproxy.c:htx_set_eom
Unexecuted instantiation: http_htx.c:htx_set_eom
Unexecuted instantiation: htx.c:htx_set_eom
Unexecuted instantiation: log.c:htx_set_eom
Unexecuted instantiation: mworker.c:htx_set_eom
Unexecuted instantiation: peers.c:htx_set_eom
Unexecuted instantiation: pool.c:htx_set_eom
Unexecuted instantiation: proxy.c:htx_set_eom
Unexecuted instantiation: resolvers.c:htx_set_eom
Unexecuted instantiation: ring.c:htx_set_eom
Unexecuted instantiation: sample.c:htx_set_eom
Unexecuted instantiation: server.c:htx_set_eom
Unexecuted instantiation: sink.c:htx_set_eom
Unexecuted instantiation: stats.c:htx_set_eom
Unexecuted instantiation: stconn.c:htx_set_eom
Unexecuted instantiation: stick_table.c:htx_set_eom
Unexecuted instantiation: stream.c:htx_set_eom
Unexecuted instantiation: tcp_rules.c:htx_set_eom
Unexecuted instantiation: tcpcheck.c:htx_set_eom
Unexecuted instantiation: tools.c:htx_set_eom
Unexecuted instantiation: trace.c:htx_set_eom
Unexecuted instantiation: vars.c:htx_set_eom
Unexecuted instantiation: activity.c:htx_set_eom
Unexecuted instantiation: applet.c:htx_set_eom
Unexecuted instantiation: backend.c:htx_set_eom
Unexecuted instantiation: cfgparse.c:htx_set_eom
Unexecuted instantiation: channel.c:htx_set_eom
Unexecuted instantiation: check.c:htx_set_eom
Unexecuted instantiation: cli.c:htx_set_eom
Unexecuted instantiation: connection.c:htx_set_eom
Unexecuted instantiation: dns.c:htx_set_eom
Unexecuted instantiation: dns_ring.c:htx_set_eom
Unexecuted instantiation: errors.c:htx_set_eom
Unexecuted instantiation: filters.c:htx_set_eom
Unexecuted instantiation: flt_http_comp.c:htx_set_eom
Unexecuted instantiation: frontend.c:htx_set_eom
Unexecuted instantiation: haterm.c:htx_set_eom
Unexecuted instantiation: http_ana.c:htx_set_eom
Unexecuted instantiation: http_ext.c:htx_set_eom
Unexecuted instantiation: http_fetch.c:htx_set_eom
Unexecuted instantiation: payload.c:htx_set_eom
Unexecuted instantiation: stats-html.c:htx_set_eom
Unexecuted instantiation: stats-json.c:htx_set_eom
Unexecuted instantiation: cache.c:htx_set_eom
Unexecuted instantiation: fcgi-app.c:htx_set_eom
Unexecuted instantiation: flt_spoe.c:htx_set_eom
794
795
/* Copy an HTX message stored in the buffer <msg> to <htx>. We take care to
796
 * not overwrite existing data. All the message is copied or nothing. It returns
797
 * 1 on success and 0 on error.
798
 */
799
static inline int htx_copy_msg(struct htx *htx, const struct buffer *msg)
800
0
{
801
  /* The destination HTX message is allocated and empty, we can do a raw copy */
802
0
  if (htx_is_empty(htx) && htx_free_space(htx)) {
803
0
    memcpy(htx, msg->area, msg->size);
804
0
    return 1;
805
0
  }
806
807
  /* Otherwise, we need to append the HTX message */
808
0
  return htx_append_msg(htx, htxbuf(msg));
809
0
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_copy_msg
Unexecuted instantiation: debug.c:htx_copy_msg
Unexecuted instantiation: h1_htx.c:htx_copy_msg
Unexecuted instantiation: haproxy.c:htx_copy_msg
Unexecuted instantiation: http_htx.c:htx_copy_msg
Unexecuted instantiation: htx.c:htx_copy_msg
Unexecuted instantiation: log.c:htx_copy_msg
Unexecuted instantiation: mworker.c:htx_copy_msg
Unexecuted instantiation: peers.c:htx_copy_msg
Unexecuted instantiation: pool.c:htx_copy_msg
Unexecuted instantiation: proxy.c:htx_copy_msg
Unexecuted instantiation: resolvers.c:htx_copy_msg
Unexecuted instantiation: ring.c:htx_copy_msg
Unexecuted instantiation: sample.c:htx_copy_msg
Unexecuted instantiation: server.c:htx_copy_msg
Unexecuted instantiation: sink.c:htx_copy_msg
Unexecuted instantiation: stats.c:htx_copy_msg
Unexecuted instantiation: stconn.c:htx_copy_msg
Unexecuted instantiation: stick_table.c:htx_copy_msg
Unexecuted instantiation: stream.c:htx_copy_msg
Unexecuted instantiation: tcp_rules.c:htx_copy_msg
Unexecuted instantiation: tcpcheck.c:htx_copy_msg
Unexecuted instantiation: tools.c:htx_copy_msg
Unexecuted instantiation: trace.c:htx_copy_msg
Unexecuted instantiation: vars.c:htx_copy_msg
Unexecuted instantiation: activity.c:htx_copy_msg
Unexecuted instantiation: applet.c:htx_copy_msg
Unexecuted instantiation: backend.c:htx_copy_msg
Unexecuted instantiation: cfgparse.c:htx_copy_msg
Unexecuted instantiation: channel.c:htx_copy_msg
Unexecuted instantiation: check.c:htx_copy_msg
Unexecuted instantiation: cli.c:htx_copy_msg
Unexecuted instantiation: connection.c:htx_copy_msg
Unexecuted instantiation: dns.c:htx_copy_msg
Unexecuted instantiation: dns_ring.c:htx_copy_msg
Unexecuted instantiation: errors.c:htx_copy_msg
Unexecuted instantiation: filters.c:htx_copy_msg
Unexecuted instantiation: flt_http_comp.c:htx_copy_msg
Unexecuted instantiation: frontend.c:htx_copy_msg
Unexecuted instantiation: haterm.c:htx_copy_msg
Unexecuted instantiation: http_ana.c:htx_copy_msg
Unexecuted instantiation: http_ext.c:htx_copy_msg
Unexecuted instantiation: http_fetch.c:htx_copy_msg
Unexecuted instantiation: payload.c:htx_copy_msg
Unexecuted instantiation: stats-html.c:htx_copy_msg
Unexecuted instantiation: stats-json.c:htx_copy_msg
Unexecuted instantiation: cache.c:htx_copy_msg
Unexecuted instantiation: fcgi-app.c:htx_copy_msg
Unexecuted instantiation: flt_spoe.c:htx_copy_msg
810
811
/* Remove all blocks except headers. Trailers will also be removed too. */
812
static inline void htx_skip_msg_payload(struct htx *htx)
813
0
{
814
0
  struct htx_blk *blk = htx_get_first_blk(htx);
815
816
0
  while (blk) {
817
0
    enum htx_blk_type type = htx_get_blk_type(blk);
818
819
0
    blk = ((type > HTX_BLK_EOH)
820
0
           ? htx_remove_blk(htx, blk)
821
0
           : htx_get_next_blk(htx, blk));
822
0
  }
823
0
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_skip_msg_payload
Unexecuted instantiation: debug.c:htx_skip_msg_payload
Unexecuted instantiation: h1_htx.c:htx_skip_msg_payload
Unexecuted instantiation: haproxy.c:htx_skip_msg_payload
Unexecuted instantiation: http_htx.c:htx_skip_msg_payload
Unexecuted instantiation: htx.c:htx_skip_msg_payload
Unexecuted instantiation: log.c:htx_skip_msg_payload
Unexecuted instantiation: mworker.c:htx_skip_msg_payload
Unexecuted instantiation: peers.c:htx_skip_msg_payload
Unexecuted instantiation: pool.c:htx_skip_msg_payload
Unexecuted instantiation: proxy.c:htx_skip_msg_payload
Unexecuted instantiation: resolvers.c:htx_skip_msg_payload
Unexecuted instantiation: ring.c:htx_skip_msg_payload
Unexecuted instantiation: sample.c:htx_skip_msg_payload
Unexecuted instantiation: server.c:htx_skip_msg_payload
Unexecuted instantiation: sink.c:htx_skip_msg_payload
Unexecuted instantiation: stats.c:htx_skip_msg_payload
Unexecuted instantiation: stconn.c:htx_skip_msg_payload
Unexecuted instantiation: stick_table.c:htx_skip_msg_payload
Unexecuted instantiation: stream.c:htx_skip_msg_payload
Unexecuted instantiation: tcp_rules.c:htx_skip_msg_payload
Unexecuted instantiation: tcpcheck.c:htx_skip_msg_payload
Unexecuted instantiation: tools.c:htx_skip_msg_payload
Unexecuted instantiation: trace.c:htx_skip_msg_payload
Unexecuted instantiation: vars.c:htx_skip_msg_payload
Unexecuted instantiation: activity.c:htx_skip_msg_payload
Unexecuted instantiation: applet.c:htx_skip_msg_payload
Unexecuted instantiation: backend.c:htx_skip_msg_payload
Unexecuted instantiation: cfgparse.c:htx_skip_msg_payload
Unexecuted instantiation: channel.c:htx_skip_msg_payload
Unexecuted instantiation: check.c:htx_skip_msg_payload
Unexecuted instantiation: cli.c:htx_skip_msg_payload
Unexecuted instantiation: connection.c:htx_skip_msg_payload
Unexecuted instantiation: dns.c:htx_skip_msg_payload
Unexecuted instantiation: dns_ring.c:htx_skip_msg_payload
Unexecuted instantiation: errors.c:htx_skip_msg_payload
Unexecuted instantiation: filters.c:htx_skip_msg_payload
Unexecuted instantiation: flt_http_comp.c:htx_skip_msg_payload
Unexecuted instantiation: frontend.c:htx_skip_msg_payload
Unexecuted instantiation: haterm.c:htx_skip_msg_payload
Unexecuted instantiation: http_ana.c:htx_skip_msg_payload
Unexecuted instantiation: http_ext.c:htx_skip_msg_payload
Unexecuted instantiation: http_fetch.c:htx_skip_msg_payload
Unexecuted instantiation: payload.c:htx_skip_msg_payload
Unexecuted instantiation: stats-html.c:htx_skip_msg_payload
Unexecuted instantiation: stats-json.c:htx_skip_msg_payload
Unexecuted instantiation: cache.c:htx_skip_msg_payload
Unexecuted instantiation: fcgi-app.c:htx_skip_msg_payload
Unexecuted instantiation: flt_spoe.c:htx_skip_msg_payload
824
825
/* Returns the number of used blocks in the HTX message <htx>. Note that it is
826
 * illegal to call this function with htx == NULL. Note also blocks of type
827
 * HTX_BLK_UNUSED are part of used blocks.
828
 */
829
static inline int htx_nbblks(const struct htx *htx)
830
0
{
831
0
  return ((htx->head != -1) ? (htx->tail + 1 - htx->head) : 0);
832
0
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_nbblks
Unexecuted instantiation: debug.c:htx_nbblks
Unexecuted instantiation: h1_htx.c:htx_nbblks
Unexecuted instantiation: haproxy.c:htx_nbblks
Unexecuted instantiation: http_htx.c:htx_nbblks
Unexecuted instantiation: htx.c:htx_nbblks
Unexecuted instantiation: log.c:htx_nbblks
Unexecuted instantiation: mworker.c:htx_nbblks
Unexecuted instantiation: peers.c:htx_nbblks
Unexecuted instantiation: pool.c:htx_nbblks
Unexecuted instantiation: proxy.c:htx_nbblks
Unexecuted instantiation: resolvers.c:htx_nbblks
Unexecuted instantiation: ring.c:htx_nbblks
Unexecuted instantiation: sample.c:htx_nbblks
Unexecuted instantiation: server.c:htx_nbblks
Unexecuted instantiation: sink.c:htx_nbblks
Unexecuted instantiation: stats.c:htx_nbblks
Unexecuted instantiation: stconn.c:htx_nbblks
Unexecuted instantiation: stick_table.c:htx_nbblks
Unexecuted instantiation: stream.c:htx_nbblks
Unexecuted instantiation: tcp_rules.c:htx_nbblks
Unexecuted instantiation: tcpcheck.c:htx_nbblks
Unexecuted instantiation: tools.c:htx_nbblks
Unexecuted instantiation: trace.c:htx_nbblks
Unexecuted instantiation: vars.c:htx_nbblks
Unexecuted instantiation: activity.c:htx_nbblks
Unexecuted instantiation: applet.c:htx_nbblks
Unexecuted instantiation: backend.c:htx_nbblks
Unexecuted instantiation: cfgparse.c:htx_nbblks
Unexecuted instantiation: channel.c:htx_nbblks
Unexecuted instantiation: check.c:htx_nbblks
Unexecuted instantiation: cli.c:htx_nbblks
Unexecuted instantiation: connection.c:htx_nbblks
Unexecuted instantiation: dns.c:htx_nbblks
Unexecuted instantiation: dns_ring.c:htx_nbblks
Unexecuted instantiation: errors.c:htx_nbblks
Unexecuted instantiation: filters.c:htx_nbblks
Unexecuted instantiation: flt_http_comp.c:htx_nbblks
Unexecuted instantiation: frontend.c:htx_nbblks
Unexecuted instantiation: haterm.c:htx_nbblks
Unexecuted instantiation: http_ana.c:htx_nbblks
Unexecuted instantiation: http_ext.c:htx_nbblks
Unexecuted instantiation: http_fetch.c:htx_nbblks
Unexecuted instantiation: payload.c:htx_nbblks
Unexecuted instantiation: stats-html.c:htx_nbblks
Unexecuted instantiation: stats-json.c:htx_nbblks
Unexecuted instantiation: cache.c:htx_nbblks
Unexecuted instantiation: fcgi-app.c:htx_nbblks
Unexecuted instantiation: flt_spoe.c:htx_nbblks
833
/* For debugging purpose */
834
static inline const char *htx_blk_type_str(enum htx_blk_type type)
835
0
{
836
0
  switch (type) {
837
0
    case HTX_BLK_REQ_SL: return "HTX_BLK_REQ_SL";
838
0
    case HTX_BLK_RES_SL: return "HTX_BLK_RES_SL";
839
0
    case HTX_BLK_HDR:    return "HTX_BLK_HDR";
840
0
    case HTX_BLK_EOH:    return "HTX_BLK_EOH";
841
0
    case HTX_BLK_DATA:   return "HTX_BLK_DATA";
842
0
    case HTX_BLK_TLR:    return "HTX_BLK_TLR";
843
0
    case HTX_BLK_EOT:    return "HTX_BLK_EOT";
844
0
    case HTX_BLK_UNUSED: return "HTX_BLK_UNUSED";
845
0
    default:             return "HTX_BLK_???";
846
0
  };
847
0
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_blk_type_str
Unexecuted instantiation: debug.c:htx_blk_type_str
Unexecuted instantiation: h1_htx.c:htx_blk_type_str
Unexecuted instantiation: haproxy.c:htx_blk_type_str
Unexecuted instantiation: http_htx.c:htx_blk_type_str
Unexecuted instantiation: htx.c:htx_blk_type_str
Unexecuted instantiation: log.c:htx_blk_type_str
Unexecuted instantiation: mworker.c:htx_blk_type_str
Unexecuted instantiation: peers.c:htx_blk_type_str
Unexecuted instantiation: pool.c:htx_blk_type_str
Unexecuted instantiation: proxy.c:htx_blk_type_str
Unexecuted instantiation: resolvers.c:htx_blk_type_str
Unexecuted instantiation: ring.c:htx_blk_type_str
Unexecuted instantiation: sample.c:htx_blk_type_str
Unexecuted instantiation: server.c:htx_blk_type_str
Unexecuted instantiation: sink.c:htx_blk_type_str
Unexecuted instantiation: stats.c:htx_blk_type_str
Unexecuted instantiation: stconn.c:htx_blk_type_str
Unexecuted instantiation: stick_table.c:htx_blk_type_str
Unexecuted instantiation: stream.c:htx_blk_type_str
Unexecuted instantiation: tcp_rules.c:htx_blk_type_str
Unexecuted instantiation: tcpcheck.c:htx_blk_type_str
Unexecuted instantiation: tools.c:htx_blk_type_str
Unexecuted instantiation: trace.c:htx_blk_type_str
Unexecuted instantiation: vars.c:htx_blk_type_str
Unexecuted instantiation: activity.c:htx_blk_type_str
Unexecuted instantiation: applet.c:htx_blk_type_str
Unexecuted instantiation: backend.c:htx_blk_type_str
Unexecuted instantiation: cfgparse.c:htx_blk_type_str
Unexecuted instantiation: channel.c:htx_blk_type_str
Unexecuted instantiation: check.c:htx_blk_type_str
Unexecuted instantiation: cli.c:htx_blk_type_str
Unexecuted instantiation: connection.c:htx_blk_type_str
Unexecuted instantiation: dns.c:htx_blk_type_str
Unexecuted instantiation: dns_ring.c:htx_blk_type_str
Unexecuted instantiation: errors.c:htx_blk_type_str
Unexecuted instantiation: filters.c:htx_blk_type_str
Unexecuted instantiation: flt_http_comp.c:htx_blk_type_str
Unexecuted instantiation: frontend.c:htx_blk_type_str
Unexecuted instantiation: haterm.c:htx_blk_type_str
Unexecuted instantiation: http_ana.c:htx_blk_type_str
Unexecuted instantiation: http_ext.c:htx_blk_type_str
Unexecuted instantiation: http_fetch.c:htx_blk_type_str
Unexecuted instantiation: payload.c:htx_blk_type_str
Unexecuted instantiation: stats-html.c:htx_blk_type_str
Unexecuted instantiation: stats-json.c:htx_blk_type_str
Unexecuted instantiation: cache.c:htx_blk_type_str
Unexecuted instantiation: fcgi-app.c:htx_blk_type_str
Unexecuted instantiation: flt_spoe.c:htx_blk_type_str
848
849
/* For debugging purpose */
850
static inline void htx_dump(struct buffer *chunk, const struct htx *htx, int full)
851
0
{
852
0
  int32_t pos;
853
854
0
  chunk_appendf(chunk, " htx=%p(size=%u,data=%u,used=%u,wrap=%s,flags=0x%08x,"
855
0
          "first=%d,head=%d,tail=%d,tail_addr=%d,head_addr=%d,end_addr=%d)",
856
0
          htx, htx->size, htx->data, htx_nbblks(htx), (!htx->head_addr) ? "NO" : "YES",
857
0
          htx->flags, htx->first, htx->head, htx->tail,
858
0
          htx->tail_addr, htx->head_addr, htx->end_addr);
859
860
0
  if (!full || !htx_nbblks(htx))
861
0
    return;
862
0
  chunk_memcat(chunk, "\n", 1);
863
864
0
  for (pos = htx_get_head(htx); pos != -1; pos = htx_get_next(htx, pos)) {
865
0
    struct htx_sl     *sl;
866
0
    struct htx_blk    *blk  = htx_get_blk(htx, pos);
867
0
    enum htx_blk_type  type = htx_get_blk_type(blk);
868
0
    uint32_t           sz   = htx_get_blksz(blk);
869
0
    struct ist         n, v;
870
871
0
    n = htx_get_blk_name(htx, blk);
872
0
    v = htx_get_blk_value(htx, blk);
873
874
0
    if (type == HTX_BLK_REQ_SL || type == HTX_BLK_RES_SL) {
875
0
      sl = htx_get_blk_ptr(htx, blk);
876
0
      chunk_appendf(chunk, "\t\t[%u] type=%-17s - size=%-6u - addr=%-6u\t%.*s %.*s %.*s\n",
877
0
              pos, htx_blk_type_str(type), sz, blk->addr,
878
0
              HTX_SL_P1_LEN(sl), HTX_SL_P1_PTR(sl),
879
0
              HTX_SL_P2_LEN(sl), HTX_SL_P2_PTR(sl),
880
0
              HTX_SL_P3_LEN(sl), HTX_SL_P3_PTR(sl));
881
0
    }
882
0
    else if (type == HTX_BLK_HDR || type == HTX_BLK_TLR)
883
0
      chunk_appendf(chunk, "\t\t[%u] type=%-17s - size=%-6u - addr=%-6u\t%.*s: %.*s\n",
884
0
              pos, htx_blk_type_str(type), sz, blk->addr,
885
0
              (int)MIN(n.len, 32), n.ptr,
886
0
              (int)MIN(v.len, 64), v.ptr);
887
0
    else
888
0
      chunk_appendf(chunk, "\t\t[%u] type=%-17s - size=%-6u - addr=%-6u%s\n",
889
0
              pos, htx_blk_type_str(type), sz, blk->addr,
890
0
              (!v.len ? "\t<empty>" : ""));
891
0
  }
892
0
}
Unexecuted instantiation: fuzz_h1_htx.c:htx_dump
Unexecuted instantiation: debug.c:htx_dump
Unexecuted instantiation: h1_htx.c:htx_dump
Unexecuted instantiation: haproxy.c:htx_dump
Unexecuted instantiation: http_htx.c:htx_dump
Unexecuted instantiation: htx.c:htx_dump
Unexecuted instantiation: log.c:htx_dump
Unexecuted instantiation: mworker.c:htx_dump
Unexecuted instantiation: peers.c:htx_dump
Unexecuted instantiation: pool.c:htx_dump
Unexecuted instantiation: proxy.c:htx_dump
Unexecuted instantiation: resolvers.c:htx_dump
Unexecuted instantiation: ring.c:htx_dump
Unexecuted instantiation: sample.c:htx_dump
Unexecuted instantiation: server.c:htx_dump
Unexecuted instantiation: sink.c:htx_dump
Unexecuted instantiation: stats.c:htx_dump
Unexecuted instantiation: stconn.c:htx_dump
Unexecuted instantiation: stick_table.c:htx_dump
Unexecuted instantiation: stream.c:htx_dump
Unexecuted instantiation: tcp_rules.c:htx_dump
Unexecuted instantiation: tcpcheck.c:htx_dump
Unexecuted instantiation: tools.c:htx_dump
Unexecuted instantiation: trace.c:htx_dump
Unexecuted instantiation: vars.c:htx_dump
Unexecuted instantiation: activity.c:htx_dump
Unexecuted instantiation: applet.c:htx_dump
Unexecuted instantiation: backend.c:htx_dump
Unexecuted instantiation: cfgparse.c:htx_dump
Unexecuted instantiation: channel.c:htx_dump
Unexecuted instantiation: check.c:htx_dump
Unexecuted instantiation: cli.c:htx_dump
Unexecuted instantiation: connection.c:htx_dump
Unexecuted instantiation: dns.c:htx_dump
Unexecuted instantiation: dns_ring.c:htx_dump
Unexecuted instantiation: errors.c:htx_dump
Unexecuted instantiation: filters.c:htx_dump
Unexecuted instantiation: flt_http_comp.c:htx_dump
Unexecuted instantiation: frontend.c:htx_dump
Unexecuted instantiation: haterm.c:htx_dump
Unexecuted instantiation: http_ana.c:htx_dump
Unexecuted instantiation: http_ext.c:htx_dump
Unexecuted instantiation: http_fetch.c:htx_dump
Unexecuted instantiation: payload.c:htx_dump
Unexecuted instantiation: stats-html.c:htx_dump
Unexecuted instantiation: stats-json.c:htx_dump
Unexecuted instantiation: cache.c:htx_dump
Unexecuted instantiation: fcgi-app.c:htx_dump
Unexecuted instantiation: flt_spoe.c:htx_dump
893
894
#endif /* _HAPROXY_HTX_H */
895
896
/*
897
 * Local variables:
898
 *  c-indent-level: 8
899
 *  c-basic-offset: 8
900
 * End:
901
 */