Coverage Report

Created: 2026-05-04 06:47

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/systemd/src/fundamental/iovec-util-fundamental.h
Line
Count
Source
1
/* SPDX-License-Identifier: LGPL-2.1-or-later */
2
#pragma once
3
4
#if !SD_BOOT
5
#include <sys/uio.h>
6
#endif
7
8
#include "assert-fundamental.h"         /* IWYU pragma: keep */
9
#include "macro-fundamental.h"
10
11
#if SD_BOOT
12
/* struct iovec is a POSIX userspace construct. Let's introduce it also in EFI mode, it's just so useful */
13
struct iovec {
14
        void *iov_base;
15
        size_t iov_len;
16
};
17
#endif
18
19
/* This accepts both const and non-const pointers */
20
#define IOVEC_MAKE(base, len)                                           \
21
33.0M
        (struct iovec) {                                                \
22
33.0M
                .iov_base = (void*) (base),                             \
23
33.0M
                .iov_len = (len),                                       \
24
33.0M
        }
25
26
1.15M
static inline struct iovec* iovec_shift(const struct iovec *iovec, size_t shift, struct iovec *ret) {
27
1.15M
        assert(iovec);
28
1.15M
        assert(ret);
29
30
        /* This returns an empty iovec when 'shift' is larger or equals to the input iovec length.
31
         * The 'iovec' and 'ret' can point to the same object. */
32
33
1.15M
        *ret = IOVEC_MAKE(iovec->iov_len > shift ? (uint8_t*) iovec->iov_base + shift : NULL,
34
1.15M
                          LESS_BY(iovec->iov_len, shift));
35
1.15M
        return ret;
36
1.15M
}
Unexecuted instantiation: udev-builtin-dissect_image.c:iovec_shift
Unexecuted instantiation: udev-ctrl.c:iovec_shift
Unexecuted instantiation: journald-audit.c:iovec_shift
Unexecuted instantiation: journald-console.c:iovec_shift
Unexecuted instantiation: journald-context.c:iovec_shift
Unexecuted instantiation: journald-kmsg.c:iovec_shift
Unexecuted instantiation: journald-manager.c:iovec_shift
Unexecuted instantiation: journald-native.c:iovec_shift
Unexecuted instantiation: journald-socket.c:iovec_shift
Unexecuted instantiation: journald-stream.c:iovec_shift
Unexecuted instantiation: journald-syslog.c:iovec_shift
Unexecuted instantiation: ndisc-option.c:iovec_shift
Unexecuted instantiation: resolved-dns-dnssec.c:iovec_shift
Unexecuted instantiation: resolved-dns-stream.c:iovec_shift
Unexecuted instantiation: resolved-hook.c:iovec_shift
Unexecuted instantiation: resolved-manager.c:iovec_shift
Unexecuted instantiation: resolved-varlink.c:iovec_shift
Unexecuted instantiation: fuzz-dhcp-server-relay.c:iovec_shift
Unexecuted instantiation: dhcp-packet.c:iovec_shift
ip-util.c:iovec_shift
Line
Count
Source
26
218k
static inline struct iovec* iovec_shift(const struct iovec *iovec, size_t shift, struct iovec *ret) {
27
218k
        assert(iovec);
28
218k
        assert(ret);
29
30
        /* This returns an empty iovec when 'shift' is larger or equals to the input iovec length.
31
         * The 'iovec' and 'ret' can point to the same object. */
32
33
218k
        *ret = IOVEC_MAKE(iovec->iov_len > shift ? (uint8_t*) iovec->iov_base + shift : NULL,
34
218k
                          LESS_BY(iovec->iov_len, shift));
35
218k
        return ret;
36
218k
}
Unexecuted instantiation: sd-dhcp-client-id.c:iovec_shift
Unexecuted instantiation: sd-dhcp-server-lease.c:iovec_shift
Unexecuted instantiation: networkd-serialize.c:iovec_shift
Unexecuted instantiation: sd-dhcp-client.c:iovec_shift
Unexecuted instantiation: sd-dhcp-server.c:iovec_shift
Unexecuted instantiation: sd-dhcp6-client.c:iovec_shift
fuzz-varlink.c:iovec_shift
Line
Count
Source
26
938k
static inline struct iovec* iovec_shift(const struct iovec *iovec, size_t shift, struct iovec *ret) {
27
938k
        assert(iovec);
28
938k
        assert(ret);
29
30
        /* This returns an empty iovec when 'shift' is larger or equals to the input iovec length.
31
         * The 'iovec' and 'ret' can point to the same object. */
32
33
938k
        *ret = IOVEC_MAKE(iovec->iov_len > shift ? (uint8_t*) iovec->iov_base + shift : NULL,
34
938k
                          LESS_BY(iovec->iov_len, shift));
35
938k
        return ret;
36
938k
}
Unexecuted instantiation: fuzz-dhcp-server.c:iovec_shift
Unexecuted instantiation: systemctl.c:iovec_shift
Unexecuted instantiation: fuzz-dhcp-client.c:iovec_shift
Unexecuted instantiation: ask-password-api.c:iovec_shift
Unexecuted instantiation: condition.c:iovec_shift
Unexecuted instantiation: creds-util.c:iovec_shift
Unexecuted instantiation: crypto-util.c:iovec_shift
Unexecuted instantiation: cryptsetup-fido2.c:iovec_shift
Unexecuted instantiation: cryptsetup-tpm2.c:iovec_shift
Unexecuted instantiation: discover-image.c:iovec_shift
Unexecuted instantiation: dissect-image.c:iovec_shift
Unexecuted instantiation: dns-configuration.c:iovec_shift
Unexecuted instantiation: efi-api.c:iovec_shift
Unexecuted instantiation: fido2-util.c:iovec_shift
Unexecuted instantiation: image-policy.c:iovec_shift
Unexecuted instantiation: libaudit-util.c:iovec_shift
Unexecuted instantiation: loop-util.c:iovec_shift
Unexecuted instantiation: machine-credential.c:iovec_shift
Unexecuted instantiation: mount-util.c:iovec_shift
Unexecuted instantiation: mstack.c:iovec_shift
Unexecuted instantiation: pcrextend-util.c:iovec_shift
Unexecuted instantiation: pe-binary.c:iovec_shift
Unexecuted instantiation: pkcs7-util.c:iovec_shift
Unexecuted instantiation: pkcs11-util.c:iovec_shift
Unexecuted instantiation: serialize.c:iovec_shift
Unexecuted instantiation: tpm2-util.c:iovec_shift
Unexecuted instantiation: tpm2-event-log.c:iovec_shift
Unexecuted instantiation: fileio.c:iovec_shift
Unexecuted instantiation: iovec-util.c:iovec_shift
Unexecuted instantiation: iovec-wrapper.c:iovec_shift
Unexecuted instantiation: log.c:iovec_shift
Unexecuted instantiation: log-context.c:iovec_shift
Unexecuted instantiation: process-util.c:iovec_shift
Unexecuted instantiation: random-util.c:iovec_shift
Unexecuted instantiation: siphash24.c:iovec_shift
Unexecuted instantiation: sd-resolve.c:iovec_shift
Unexecuted instantiation: journal-send.c:iovec_shift
Unexecuted instantiation: sd-daemon.c:iovec_shift
Unexecuted instantiation: bus-message.c:iovec_shift
Unexecuted instantiation: bus-socket.c:iovec_shift
Unexecuted instantiation: device-monitor.c:iovec_shift
Unexecuted instantiation: json-stream.c:iovec_shift
Unexecuted instantiation: json-util.c:iovec_shift
Unexecuted instantiation: netlink-message-nfnl.c:iovec_shift
Unexecuted instantiation: netlink-socket.c:iovec_shift
Unexecuted instantiation: netlink-util.c:iovec_shift
Unexecuted instantiation: load-fragment-gperf.c:iovec_shift
Unexecuted instantiation: dbus-execute.c:iovec_shift
Unexecuted instantiation: dbus-service.c:iovec_shift
Unexecuted instantiation: dbus-util.c:iovec_shift
Unexecuted instantiation: dynamic-user.c:iovec_shift
Unexecuted instantiation: exec-credential.c:iovec_shift
Unexecuted instantiation: execute.c:iovec_shift
Unexecuted instantiation: execute-serialize.c:iovec_shift
Unexecuted instantiation: load-fragment.c:iovec_shift
Unexecuted instantiation: manager.c:iovec_shift
Unexecuted instantiation: namespace.c:iovec_shift
Unexecuted instantiation: service.c:iovec_shift
Unexecuted instantiation: show-status.c:iovec_shift
Unexecuted instantiation: unit.c:iovec_shift
Unexecuted instantiation: varlink-execute.c:iovec_shift
37
38
#define IOVEC_SHIFT(iov, shift)                         \
39
        *iovec_shift(iov, shift, &(struct iovec){})
40
41
1.15M
static inline struct iovec* iovec_inc(struct iovec *iovec, size_t shift) {
42
1.15M
        return iovec_shift(iovec, shift, iovec);
43
1.15M
}
Unexecuted instantiation: udev-builtin-dissect_image.c:iovec_inc
Unexecuted instantiation: udev-ctrl.c:iovec_inc
Unexecuted instantiation: journald-audit.c:iovec_inc
Unexecuted instantiation: journald-console.c:iovec_inc
Unexecuted instantiation: journald-context.c:iovec_inc
Unexecuted instantiation: journald-kmsg.c:iovec_inc
Unexecuted instantiation: journald-manager.c:iovec_inc
Unexecuted instantiation: journald-native.c:iovec_inc
Unexecuted instantiation: journald-socket.c:iovec_inc
Unexecuted instantiation: journald-stream.c:iovec_inc
Unexecuted instantiation: journald-syslog.c:iovec_inc
Unexecuted instantiation: ndisc-option.c:iovec_inc
Unexecuted instantiation: resolved-dns-dnssec.c:iovec_inc
Unexecuted instantiation: resolved-dns-stream.c:iovec_inc
Unexecuted instantiation: resolved-hook.c:iovec_inc
Unexecuted instantiation: resolved-manager.c:iovec_inc
Unexecuted instantiation: resolved-varlink.c:iovec_inc
Unexecuted instantiation: fuzz-dhcp-server-relay.c:iovec_inc
Unexecuted instantiation: dhcp-packet.c:iovec_inc
ip-util.c:iovec_inc
Line
Count
Source
41
218k
static inline struct iovec* iovec_inc(struct iovec *iovec, size_t shift) {
42
218k
        return iovec_shift(iovec, shift, iovec);
43
218k
}
Unexecuted instantiation: sd-dhcp-client-id.c:iovec_inc
Unexecuted instantiation: sd-dhcp-server-lease.c:iovec_inc
Unexecuted instantiation: networkd-serialize.c:iovec_inc
Unexecuted instantiation: sd-dhcp-client.c:iovec_inc
Unexecuted instantiation: sd-dhcp-server.c:iovec_inc
Unexecuted instantiation: sd-dhcp6-client.c:iovec_inc
fuzz-varlink.c:iovec_inc
Line
Count
Source
41
938k
static inline struct iovec* iovec_inc(struct iovec *iovec, size_t shift) {
42
938k
        return iovec_shift(iovec, shift, iovec);
43
938k
}
Unexecuted instantiation: fuzz-dhcp-server.c:iovec_inc
Unexecuted instantiation: systemctl.c:iovec_inc
Unexecuted instantiation: fuzz-dhcp-client.c:iovec_inc
Unexecuted instantiation: ask-password-api.c:iovec_inc
Unexecuted instantiation: condition.c:iovec_inc
Unexecuted instantiation: creds-util.c:iovec_inc
Unexecuted instantiation: crypto-util.c:iovec_inc
Unexecuted instantiation: cryptsetup-fido2.c:iovec_inc
Unexecuted instantiation: cryptsetup-tpm2.c:iovec_inc
Unexecuted instantiation: discover-image.c:iovec_inc
Unexecuted instantiation: dissect-image.c:iovec_inc
Unexecuted instantiation: dns-configuration.c:iovec_inc
Unexecuted instantiation: efi-api.c:iovec_inc
Unexecuted instantiation: fido2-util.c:iovec_inc
Unexecuted instantiation: image-policy.c:iovec_inc
Unexecuted instantiation: libaudit-util.c:iovec_inc
Unexecuted instantiation: loop-util.c:iovec_inc
Unexecuted instantiation: machine-credential.c:iovec_inc
Unexecuted instantiation: mount-util.c:iovec_inc
Unexecuted instantiation: mstack.c:iovec_inc
Unexecuted instantiation: pcrextend-util.c:iovec_inc
Unexecuted instantiation: pe-binary.c:iovec_inc
Unexecuted instantiation: pkcs7-util.c:iovec_inc
Unexecuted instantiation: pkcs11-util.c:iovec_inc
Unexecuted instantiation: serialize.c:iovec_inc
Unexecuted instantiation: tpm2-util.c:iovec_inc
Unexecuted instantiation: tpm2-event-log.c:iovec_inc
Unexecuted instantiation: fileio.c:iovec_inc
Unexecuted instantiation: iovec-util.c:iovec_inc
Unexecuted instantiation: iovec-wrapper.c:iovec_inc
Unexecuted instantiation: log.c:iovec_inc
Unexecuted instantiation: log-context.c:iovec_inc
Unexecuted instantiation: process-util.c:iovec_inc
Unexecuted instantiation: random-util.c:iovec_inc
Unexecuted instantiation: siphash24.c:iovec_inc
Unexecuted instantiation: sd-resolve.c:iovec_inc
Unexecuted instantiation: journal-send.c:iovec_inc
Unexecuted instantiation: sd-daemon.c:iovec_inc
Unexecuted instantiation: bus-message.c:iovec_inc
Unexecuted instantiation: bus-socket.c:iovec_inc
Unexecuted instantiation: device-monitor.c:iovec_inc
Unexecuted instantiation: json-stream.c:iovec_inc
Unexecuted instantiation: json-util.c:iovec_inc
Unexecuted instantiation: netlink-message-nfnl.c:iovec_inc
Unexecuted instantiation: netlink-socket.c:iovec_inc
Unexecuted instantiation: netlink-util.c:iovec_inc
Unexecuted instantiation: load-fragment-gperf.c:iovec_inc
Unexecuted instantiation: dbus-execute.c:iovec_inc
Unexecuted instantiation: dbus-service.c:iovec_inc
Unexecuted instantiation: dbus-util.c:iovec_inc
Unexecuted instantiation: dynamic-user.c:iovec_inc
Unexecuted instantiation: exec-credential.c:iovec_inc
Unexecuted instantiation: execute.c:iovec_inc
Unexecuted instantiation: execute-serialize.c:iovec_inc
Unexecuted instantiation: load-fragment.c:iovec_inc
Unexecuted instantiation: manager.c:iovec_inc
Unexecuted instantiation: namespace.c:iovec_inc
Unexecuted instantiation: service.c:iovec_inc
Unexecuted instantiation: show-status.c:iovec_inc
Unexecuted instantiation: unit.c:iovec_inc
Unexecuted instantiation: varlink-execute.c:iovec_inc
44
45
127k
static inline void iovec_done(struct iovec *iovec) {
46
        /* A _cleanup_() helper that frees the iov_base in the iovec */
47
127k
        assert(iovec);
48
49
127k
        iovec->iov_base = mfree(iovec->iov_base);
50
110k
        iovec->iov_len = 0;
51
110k
}
Unexecuted instantiation: udev-builtin-dissect_image.c:iovec_done
Unexecuted instantiation: udev-ctrl.c:iovec_done
Unexecuted instantiation: journald-audit.c:iovec_done
Unexecuted instantiation: journald-console.c:iovec_done
Unexecuted instantiation: journald-context.c:iovec_done
Unexecuted instantiation: journald-kmsg.c:iovec_done
Unexecuted instantiation: journald-manager.c:iovec_done
Unexecuted instantiation: journald-native.c:iovec_done
Unexecuted instantiation: journald-socket.c:iovec_done
Unexecuted instantiation: journald-stream.c:iovec_done
Unexecuted instantiation: journald-syslog.c:iovec_done
Unexecuted instantiation: ndisc-option.c:iovec_done
Unexecuted instantiation: resolved-dns-dnssec.c:iovec_done
Unexecuted instantiation: resolved-dns-stream.c:iovec_done
Unexecuted instantiation: resolved-hook.c:iovec_done
Unexecuted instantiation: resolved-manager.c:iovec_done
Unexecuted instantiation: resolved-varlink.c:iovec_done
Unexecuted instantiation: fuzz-dhcp-server-relay.c:iovec_done
Unexecuted instantiation: dhcp-packet.c:iovec_done
Unexecuted instantiation: ip-util.c:iovec_done
sd-dhcp-client-id.c:iovec_done
Line
Count
Source
45
3.87k
static inline void iovec_done(struct iovec *iovec) {
46
        /* A _cleanup_() helper that frees the iov_base in the iovec */
47
3.87k
        assert(iovec);
48
49
        iovec->iov_base = mfree(iovec->iov_base);
50
3.87k
        iovec->iov_len = 0;
51
3.87k
}
sd-dhcp-server-lease.c:iovec_done
Line
Count
Source
45
3.87k
static inline void iovec_done(struct iovec *iovec) {
46
        /* A _cleanup_() helper that frees the iov_base in the iovec */
47
3.87k
        assert(iovec);
48
49
        iovec->iov_base = mfree(iovec->iov_base);
50
3.87k
        iovec->iov_len = 0;
51
3.87k
}
Unexecuted instantiation: networkd-serialize.c:iovec_done
Unexecuted instantiation: sd-dhcp-client.c:iovec_done
Unexecuted instantiation: sd-dhcp-server.c:iovec_done
Unexecuted instantiation: sd-dhcp6-client.c:iovec_done
Unexecuted instantiation: fuzz-varlink.c:iovec_done
Unexecuted instantiation: fuzz-dhcp-server.c:iovec_done
Unexecuted instantiation: systemctl.c:iovec_done
Unexecuted instantiation: fuzz-dhcp-client.c:iovec_done
Unexecuted instantiation: ask-password-api.c:iovec_done
Unexecuted instantiation: condition.c:iovec_done
Unexecuted instantiation: creds-util.c:iovec_done
Unexecuted instantiation: crypto-util.c:iovec_done
Unexecuted instantiation: cryptsetup-fido2.c:iovec_done
Unexecuted instantiation: cryptsetup-tpm2.c:iovec_done
Unexecuted instantiation: discover-image.c:iovec_done
Unexecuted instantiation: dissect-image.c:iovec_done
Unexecuted instantiation: dns-configuration.c:iovec_done
Unexecuted instantiation: efi-api.c:iovec_done
Unexecuted instantiation: fido2-util.c:iovec_done
Unexecuted instantiation: image-policy.c:iovec_done
Unexecuted instantiation: libaudit-util.c:iovec_done
Unexecuted instantiation: loop-util.c:iovec_done
Unexecuted instantiation: machine-credential.c:iovec_done
Unexecuted instantiation: mount-util.c:iovec_done
Unexecuted instantiation: mstack.c:iovec_done
Unexecuted instantiation: pcrextend-util.c:iovec_done
Unexecuted instantiation: pe-binary.c:iovec_done
Unexecuted instantiation: pkcs7-util.c:iovec_done
Unexecuted instantiation: pkcs11-util.c:iovec_done
Unexecuted instantiation: serialize.c:iovec_done
Unexecuted instantiation: tpm2-util.c:iovec_done
Unexecuted instantiation: tpm2-event-log.c:iovec_done
Unexecuted instantiation: fileio.c:iovec_done
Unexecuted instantiation: iovec-util.c:iovec_done
Unexecuted instantiation: iovec-wrapper.c:iovec_done
Unexecuted instantiation: log.c:iovec_done
Unexecuted instantiation: log-context.c:iovec_done
Unexecuted instantiation: process-util.c:iovec_done
Unexecuted instantiation: random-util.c:iovec_done
Unexecuted instantiation: siphash24.c:iovec_done
Unexecuted instantiation: sd-resolve.c:iovec_done
Unexecuted instantiation: journal-send.c:iovec_done
Unexecuted instantiation: sd-daemon.c:iovec_done
Unexecuted instantiation: bus-message.c:iovec_done
Unexecuted instantiation: bus-socket.c:iovec_done
Unexecuted instantiation: device-monitor.c:iovec_done
Unexecuted instantiation: json-stream.c:iovec_done
json-util.c:iovec_done
Line
Count
Source
45
5.51k
static inline void iovec_done(struct iovec *iovec) {
46
        /* A _cleanup_() helper that frees the iov_base in the iovec */
47
5.51k
        assert(iovec);
48
49
        iovec->iov_base = mfree(iovec->iov_base);
50
5.51k
        iovec->iov_len = 0;
51
5.51k
}
Unexecuted instantiation: netlink-message-nfnl.c:iovec_done
Unexecuted instantiation: netlink-socket.c:iovec_done
Unexecuted instantiation: netlink-util.c:iovec_done
Unexecuted instantiation: load-fragment-gperf.c:iovec_done
Unexecuted instantiation: dbus-execute.c:iovec_done
Unexecuted instantiation: dbus-service.c:iovec_done
Unexecuted instantiation: dbus-util.c:iovec_done
Unexecuted instantiation: dynamic-user.c:iovec_done
Unexecuted instantiation: exec-credential.c:iovec_done
execute.c:iovec_done
Line
Count
Source
45
109k
static inline void iovec_done(struct iovec *iovec) {
46
        /* A _cleanup_() helper that frees the iov_base in the iovec */
47
109k
        assert(iovec);
48
49
109k
        iovec->iov_base = mfree(iovec->iov_base);
50
109k
        iovec->iov_len = 0;
51
109k
}
execute-serialize.c:iovec_done
Line
Count
Source
45
1.06k
static inline void iovec_done(struct iovec *iovec) {
46
        /* A _cleanup_() helper that frees the iov_base in the iovec */
47
1.06k
        assert(iovec);
48
49
1.06k
        iovec->iov_base = mfree(iovec->iov_base);
50
1.06k
        iovec->iov_len = 0;
51
1.06k
}
load-fragment.c:iovec_done
Line
Count
Source
45
3.62k
static inline void iovec_done(struct iovec *iovec) {
46
        /* A _cleanup_() helper that frees the iov_base in the iovec */
47
3.62k
        assert(iovec);
48
49
        iovec->iov_base = mfree(iovec->iov_base);
50
3.62k
        iovec->iov_len = 0;
51
3.62k
}
Unexecuted instantiation: manager.c:iovec_done
Unexecuted instantiation: namespace.c:iovec_done
Unexecuted instantiation: service.c:iovec_done
Unexecuted instantiation: show-status.c:iovec_done
Unexecuted instantiation: unit.c:iovec_done
Unexecuted instantiation: varlink-execute.c:iovec_done
52
53
0
static inline void iovec_done_many_and_free(struct iovec *iovec, size_t n) {
54
0
        if (n > 0) {
55
0
                assert(iovec);
56
0
                FOREACH_ARRAY(j, iovec, n)
57
0
                        iovec_done(j);
58
0
        }
59
0
        free(iovec);
60
0
}
Unexecuted instantiation: udev-builtin-dissect_image.c:iovec_done_many_and_free
Unexecuted instantiation: udev-ctrl.c:iovec_done_many_and_free
Unexecuted instantiation: journald-audit.c:iovec_done_many_and_free
Unexecuted instantiation: journald-console.c:iovec_done_many_and_free
Unexecuted instantiation: journald-context.c:iovec_done_many_and_free
Unexecuted instantiation: journald-kmsg.c:iovec_done_many_and_free
Unexecuted instantiation: journald-manager.c:iovec_done_many_and_free
Unexecuted instantiation: journald-native.c:iovec_done_many_and_free
Unexecuted instantiation: journald-socket.c:iovec_done_many_and_free
Unexecuted instantiation: journald-stream.c:iovec_done_many_and_free
Unexecuted instantiation: journald-syslog.c:iovec_done_many_and_free
Unexecuted instantiation: ndisc-option.c:iovec_done_many_and_free
Unexecuted instantiation: resolved-dns-dnssec.c:iovec_done_many_and_free
Unexecuted instantiation: resolved-dns-stream.c:iovec_done_many_and_free
Unexecuted instantiation: resolved-hook.c:iovec_done_many_and_free
Unexecuted instantiation: resolved-manager.c:iovec_done_many_and_free
Unexecuted instantiation: resolved-varlink.c:iovec_done_many_and_free
Unexecuted instantiation: fuzz-dhcp-server-relay.c:iovec_done_many_and_free
Unexecuted instantiation: dhcp-packet.c:iovec_done_many_and_free
Unexecuted instantiation: ip-util.c:iovec_done_many_and_free
Unexecuted instantiation: sd-dhcp-client-id.c:iovec_done_many_and_free
Unexecuted instantiation: sd-dhcp-server-lease.c:iovec_done_many_and_free
Unexecuted instantiation: networkd-serialize.c:iovec_done_many_and_free
Unexecuted instantiation: sd-dhcp-client.c:iovec_done_many_and_free
Unexecuted instantiation: sd-dhcp-server.c:iovec_done_many_and_free
Unexecuted instantiation: sd-dhcp6-client.c:iovec_done_many_and_free
Unexecuted instantiation: fuzz-varlink.c:iovec_done_many_and_free
Unexecuted instantiation: fuzz-dhcp-server.c:iovec_done_many_and_free
Unexecuted instantiation: systemctl.c:iovec_done_many_and_free
Unexecuted instantiation: fuzz-dhcp-client.c:iovec_done_many_and_free
Unexecuted instantiation: ask-password-api.c:iovec_done_many_and_free
Unexecuted instantiation: condition.c:iovec_done_many_and_free
Unexecuted instantiation: creds-util.c:iovec_done_many_and_free
Unexecuted instantiation: crypto-util.c:iovec_done_many_and_free
Unexecuted instantiation: cryptsetup-fido2.c:iovec_done_many_and_free
Unexecuted instantiation: cryptsetup-tpm2.c:iovec_done_many_and_free
Unexecuted instantiation: discover-image.c:iovec_done_many_and_free
Unexecuted instantiation: dissect-image.c:iovec_done_many_and_free
Unexecuted instantiation: dns-configuration.c:iovec_done_many_and_free
Unexecuted instantiation: efi-api.c:iovec_done_many_and_free
Unexecuted instantiation: fido2-util.c:iovec_done_many_and_free
Unexecuted instantiation: image-policy.c:iovec_done_many_and_free
Unexecuted instantiation: libaudit-util.c:iovec_done_many_and_free
Unexecuted instantiation: loop-util.c:iovec_done_many_and_free
Unexecuted instantiation: machine-credential.c:iovec_done_many_and_free
Unexecuted instantiation: mount-util.c:iovec_done_many_and_free
Unexecuted instantiation: mstack.c:iovec_done_many_and_free
Unexecuted instantiation: pcrextend-util.c:iovec_done_many_and_free
Unexecuted instantiation: pe-binary.c:iovec_done_many_and_free
Unexecuted instantiation: pkcs7-util.c:iovec_done_many_and_free
Unexecuted instantiation: pkcs11-util.c:iovec_done_many_and_free
Unexecuted instantiation: serialize.c:iovec_done_many_and_free
Unexecuted instantiation: tpm2-util.c:iovec_done_many_and_free
Unexecuted instantiation: tpm2-event-log.c:iovec_done_many_and_free
Unexecuted instantiation: fileio.c:iovec_done_many_and_free
Unexecuted instantiation: iovec-util.c:iovec_done_many_and_free
Unexecuted instantiation: iovec-wrapper.c:iovec_done_many_and_free
Unexecuted instantiation: log.c:iovec_done_many_and_free
Unexecuted instantiation: log-context.c:iovec_done_many_and_free
Unexecuted instantiation: process-util.c:iovec_done_many_and_free
Unexecuted instantiation: random-util.c:iovec_done_many_and_free
Unexecuted instantiation: siphash24.c:iovec_done_many_and_free
Unexecuted instantiation: sd-resolve.c:iovec_done_many_and_free
Unexecuted instantiation: journal-send.c:iovec_done_many_and_free
Unexecuted instantiation: sd-daemon.c:iovec_done_many_and_free
Unexecuted instantiation: bus-message.c:iovec_done_many_and_free
Unexecuted instantiation: bus-socket.c:iovec_done_many_and_free
Unexecuted instantiation: device-monitor.c:iovec_done_many_and_free
Unexecuted instantiation: json-stream.c:iovec_done_many_and_free
Unexecuted instantiation: json-util.c:iovec_done_many_and_free
Unexecuted instantiation: netlink-message-nfnl.c:iovec_done_many_and_free
Unexecuted instantiation: netlink-socket.c:iovec_done_many_and_free
Unexecuted instantiation: netlink-util.c:iovec_done_many_and_free
Unexecuted instantiation: load-fragment-gperf.c:iovec_done_many_and_free
Unexecuted instantiation: dbus-execute.c:iovec_done_many_and_free
Unexecuted instantiation: dbus-service.c:iovec_done_many_and_free
Unexecuted instantiation: dbus-util.c:iovec_done_many_and_free
Unexecuted instantiation: dynamic-user.c:iovec_done_many_and_free
Unexecuted instantiation: exec-credential.c:iovec_done_many_and_free
Unexecuted instantiation: execute.c:iovec_done_many_and_free
Unexecuted instantiation: execute-serialize.c:iovec_done_many_and_free
Unexecuted instantiation: load-fragment.c:iovec_done_many_and_free
Unexecuted instantiation: manager.c:iovec_done_many_and_free
Unexecuted instantiation: namespace.c:iovec_done_many_and_free
Unexecuted instantiation: service.c:iovec_done_many_and_free
Unexecuted instantiation: show-status.c:iovec_done_many_and_free
Unexecuted instantiation: unit.c:iovec_done_many_and_free
Unexecuted instantiation: varlink-execute.c:iovec_done_many_and_free
61
62
221k
static inline bool iovec_is_set(const struct iovec *iovec) {
63
        /* Checks if the iovec points to a non-empty chunk of memory */
64
221k
        return iovec && iovec->iov_len > 0 && iovec->iov_base;
65
221k
}
Unexecuted instantiation: udev-builtin-dissect_image.c:iovec_is_set
Unexecuted instantiation: udev-ctrl.c:iovec_is_set
Unexecuted instantiation: journald-audit.c:iovec_is_set
Unexecuted instantiation: journald-console.c:iovec_is_set
Unexecuted instantiation: journald-context.c:iovec_is_set
Unexecuted instantiation: journald-kmsg.c:iovec_is_set
Unexecuted instantiation: journald-manager.c:iovec_is_set
Unexecuted instantiation: journald-native.c:iovec_is_set
Unexecuted instantiation: journald-socket.c:iovec_is_set
Unexecuted instantiation: journald-stream.c:iovec_is_set
Unexecuted instantiation: journald-syslog.c:iovec_is_set
Unexecuted instantiation: ndisc-option.c:iovec_is_set
Unexecuted instantiation: resolved-dns-dnssec.c:iovec_is_set
Unexecuted instantiation: resolved-dns-stream.c:iovec_is_set
Unexecuted instantiation: resolved-hook.c:iovec_is_set
Unexecuted instantiation: resolved-manager.c:iovec_is_set
Unexecuted instantiation: resolved-varlink.c:iovec_is_set
Unexecuted instantiation: fuzz-dhcp-server-relay.c:iovec_is_set
Unexecuted instantiation: dhcp-packet.c:iovec_is_set
ip-util.c:iovec_is_set
Line
Count
Source
62
221k
static inline bool iovec_is_set(const struct iovec *iovec) {
63
        /* Checks if the iovec points to a non-empty chunk of memory */
64
221k
        return iovec && iovec->iov_len > 0 && iovec->iov_base;
65
221k
}
Unexecuted instantiation: sd-dhcp-client-id.c:iovec_is_set
Unexecuted instantiation: sd-dhcp-server-lease.c:iovec_is_set
Unexecuted instantiation: networkd-serialize.c:iovec_is_set
Unexecuted instantiation: sd-dhcp-client.c:iovec_is_set
Unexecuted instantiation: sd-dhcp-server.c:iovec_is_set
Unexecuted instantiation: sd-dhcp6-client.c:iovec_is_set
Unexecuted instantiation: fuzz-varlink.c:iovec_is_set
Unexecuted instantiation: fuzz-dhcp-server.c:iovec_is_set
Unexecuted instantiation: systemctl.c:iovec_is_set
Unexecuted instantiation: fuzz-dhcp-client.c:iovec_is_set
Unexecuted instantiation: ask-password-api.c:iovec_is_set
Unexecuted instantiation: condition.c:iovec_is_set
Unexecuted instantiation: creds-util.c:iovec_is_set
Unexecuted instantiation: crypto-util.c:iovec_is_set
Unexecuted instantiation: cryptsetup-fido2.c:iovec_is_set
Unexecuted instantiation: cryptsetup-tpm2.c:iovec_is_set
Unexecuted instantiation: discover-image.c:iovec_is_set
Unexecuted instantiation: dissect-image.c:iovec_is_set
Unexecuted instantiation: dns-configuration.c:iovec_is_set
Unexecuted instantiation: efi-api.c:iovec_is_set
Unexecuted instantiation: fido2-util.c:iovec_is_set
Unexecuted instantiation: image-policy.c:iovec_is_set
Unexecuted instantiation: libaudit-util.c:iovec_is_set
Unexecuted instantiation: loop-util.c:iovec_is_set
Unexecuted instantiation: machine-credential.c:iovec_is_set
Unexecuted instantiation: mount-util.c:iovec_is_set
Unexecuted instantiation: mstack.c:iovec_is_set
Unexecuted instantiation: pcrextend-util.c:iovec_is_set
Unexecuted instantiation: pe-binary.c:iovec_is_set
Unexecuted instantiation: pkcs7-util.c:iovec_is_set
Unexecuted instantiation: pkcs11-util.c:iovec_is_set
Unexecuted instantiation: serialize.c:iovec_is_set
Unexecuted instantiation: tpm2-util.c:iovec_is_set
Unexecuted instantiation: tpm2-event-log.c:iovec_is_set
Unexecuted instantiation: fileio.c:iovec_is_set
Unexecuted instantiation: iovec-util.c:iovec_is_set
Unexecuted instantiation: iovec-wrapper.c:iovec_is_set
Unexecuted instantiation: log.c:iovec_is_set
Unexecuted instantiation: log-context.c:iovec_is_set
Unexecuted instantiation: process-util.c:iovec_is_set
Unexecuted instantiation: random-util.c:iovec_is_set
Unexecuted instantiation: siphash24.c:iovec_is_set
Unexecuted instantiation: sd-resolve.c:iovec_is_set
Unexecuted instantiation: journal-send.c:iovec_is_set
Unexecuted instantiation: sd-daemon.c:iovec_is_set
Unexecuted instantiation: bus-message.c:iovec_is_set
Unexecuted instantiation: bus-socket.c:iovec_is_set
Unexecuted instantiation: device-monitor.c:iovec_is_set
Unexecuted instantiation: json-stream.c:iovec_is_set
Unexecuted instantiation: json-util.c:iovec_is_set
Unexecuted instantiation: netlink-message-nfnl.c:iovec_is_set
Unexecuted instantiation: netlink-socket.c:iovec_is_set
Unexecuted instantiation: netlink-util.c:iovec_is_set
Unexecuted instantiation: load-fragment-gperf.c:iovec_is_set
Unexecuted instantiation: dbus-execute.c:iovec_is_set
Unexecuted instantiation: dbus-service.c:iovec_is_set
Unexecuted instantiation: dbus-util.c:iovec_is_set
Unexecuted instantiation: dynamic-user.c:iovec_is_set
Unexecuted instantiation: exec-credential.c:iovec_is_set
execute.c:iovec_is_set
Line
Count
Source
62
22
static inline bool iovec_is_set(const struct iovec *iovec) {
63
        /* Checks if the iovec points to a non-empty chunk of memory */
64
22
        return iovec && iovec->iov_len > 0 && iovec->iov_base;
65
22
}
Unexecuted instantiation: execute-serialize.c:iovec_is_set
Unexecuted instantiation: load-fragment.c:iovec_is_set
Unexecuted instantiation: manager.c:iovec_is_set
Unexecuted instantiation: namespace.c:iovec_is_set
Unexecuted instantiation: service.c:iovec_is_set
Unexecuted instantiation: show-status.c:iovec_is_set
Unexecuted instantiation: unit.c:iovec_is_set
Unexecuted instantiation: varlink-execute.c:iovec_is_set
66
67
0
static inline bool iovec_is_valid(const struct iovec *iovec) {
68
        /* Checks if the iovec is either NULL, empty or points to a valid bit of memory */
69
0
        return !iovec || iovec->iov_base || iovec->iov_len == 0;
70
0
}
Unexecuted instantiation: udev-builtin-dissect_image.c:iovec_is_valid
Unexecuted instantiation: udev-ctrl.c:iovec_is_valid
Unexecuted instantiation: journald-audit.c:iovec_is_valid
Unexecuted instantiation: journald-console.c:iovec_is_valid
Unexecuted instantiation: journald-context.c:iovec_is_valid
Unexecuted instantiation: journald-kmsg.c:iovec_is_valid
Unexecuted instantiation: journald-manager.c:iovec_is_valid
Unexecuted instantiation: journald-native.c:iovec_is_valid
Unexecuted instantiation: journald-socket.c:iovec_is_valid
Unexecuted instantiation: journald-stream.c:iovec_is_valid
Unexecuted instantiation: journald-syslog.c:iovec_is_valid
Unexecuted instantiation: ndisc-option.c:iovec_is_valid
Unexecuted instantiation: resolved-dns-dnssec.c:iovec_is_valid
Unexecuted instantiation: resolved-dns-stream.c:iovec_is_valid
Unexecuted instantiation: resolved-hook.c:iovec_is_valid
Unexecuted instantiation: resolved-manager.c:iovec_is_valid
Unexecuted instantiation: resolved-varlink.c:iovec_is_valid
Unexecuted instantiation: fuzz-dhcp-server-relay.c:iovec_is_valid
Unexecuted instantiation: dhcp-packet.c:iovec_is_valid
Unexecuted instantiation: ip-util.c:iovec_is_valid
Unexecuted instantiation: sd-dhcp-client-id.c:iovec_is_valid
Unexecuted instantiation: sd-dhcp-server-lease.c:iovec_is_valid
Unexecuted instantiation: networkd-serialize.c:iovec_is_valid
Unexecuted instantiation: sd-dhcp-client.c:iovec_is_valid
Unexecuted instantiation: sd-dhcp-server.c:iovec_is_valid
Unexecuted instantiation: sd-dhcp6-client.c:iovec_is_valid
Unexecuted instantiation: fuzz-varlink.c:iovec_is_valid
Unexecuted instantiation: fuzz-dhcp-server.c:iovec_is_valid
Unexecuted instantiation: systemctl.c:iovec_is_valid
Unexecuted instantiation: fuzz-dhcp-client.c:iovec_is_valid
Unexecuted instantiation: ask-password-api.c:iovec_is_valid
Unexecuted instantiation: condition.c:iovec_is_valid
Unexecuted instantiation: creds-util.c:iovec_is_valid
Unexecuted instantiation: crypto-util.c:iovec_is_valid
Unexecuted instantiation: cryptsetup-fido2.c:iovec_is_valid
Unexecuted instantiation: cryptsetup-tpm2.c:iovec_is_valid
Unexecuted instantiation: discover-image.c:iovec_is_valid
Unexecuted instantiation: dissect-image.c:iovec_is_valid
Unexecuted instantiation: dns-configuration.c:iovec_is_valid
Unexecuted instantiation: efi-api.c:iovec_is_valid
Unexecuted instantiation: fido2-util.c:iovec_is_valid
Unexecuted instantiation: image-policy.c:iovec_is_valid
Unexecuted instantiation: libaudit-util.c:iovec_is_valid
Unexecuted instantiation: loop-util.c:iovec_is_valid
Unexecuted instantiation: machine-credential.c:iovec_is_valid
Unexecuted instantiation: mount-util.c:iovec_is_valid
Unexecuted instantiation: mstack.c:iovec_is_valid
Unexecuted instantiation: pcrextend-util.c:iovec_is_valid
Unexecuted instantiation: pe-binary.c:iovec_is_valid
Unexecuted instantiation: pkcs7-util.c:iovec_is_valid
Unexecuted instantiation: pkcs11-util.c:iovec_is_valid
Unexecuted instantiation: serialize.c:iovec_is_valid
Unexecuted instantiation: tpm2-util.c:iovec_is_valid
Unexecuted instantiation: tpm2-event-log.c:iovec_is_valid
Unexecuted instantiation: fileio.c:iovec_is_valid
Unexecuted instantiation: iovec-util.c:iovec_is_valid
Unexecuted instantiation: iovec-wrapper.c:iovec_is_valid
Unexecuted instantiation: log.c:iovec_is_valid
Unexecuted instantiation: log-context.c:iovec_is_valid
Unexecuted instantiation: process-util.c:iovec_is_valid
Unexecuted instantiation: random-util.c:iovec_is_valid
Unexecuted instantiation: siphash24.c:iovec_is_valid
Unexecuted instantiation: sd-resolve.c:iovec_is_valid
Unexecuted instantiation: journal-send.c:iovec_is_valid
Unexecuted instantiation: sd-daemon.c:iovec_is_valid
Unexecuted instantiation: bus-message.c:iovec_is_valid
Unexecuted instantiation: bus-socket.c:iovec_is_valid
Unexecuted instantiation: device-monitor.c:iovec_is_valid
Unexecuted instantiation: json-stream.c:iovec_is_valid
Unexecuted instantiation: json-util.c:iovec_is_valid
Unexecuted instantiation: netlink-message-nfnl.c:iovec_is_valid
Unexecuted instantiation: netlink-socket.c:iovec_is_valid
Unexecuted instantiation: netlink-util.c:iovec_is_valid
Unexecuted instantiation: load-fragment-gperf.c:iovec_is_valid
Unexecuted instantiation: dbus-execute.c:iovec_is_valid
Unexecuted instantiation: dbus-service.c:iovec_is_valid
Unexecuted instantiation: dbus-util.c:iovec_is_valid
Unexecuted instantiation: dynamic-user.c:iovec_is_valid
Unexecuted instantiation: exec-credential.c:iovec_is_valid
Unexecuted instantiation: execute.c:iovec_is_valid
Unexecuted instantiation: execute-serialize.c:iovec_is_valid
Unexecuted instantiation: load-fragment.c:iovec_is_valid
Unexecuted instantiation: manager.c:iovec_is_valid
Unexecuted instantiation: namespace.c:iovec_is_valid
Unexecuted instantiation: service.c:iovec_is_valid
Unexecuted instantiation: show-status.c:iovec_is_valid
Unexecuted instantiation: unit.c:iovec_is_valid
Unexecuted instantiation: varlink-execute.c:iovec_is_valid