/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 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 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 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 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 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 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 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 |