blob: 1b9e1946675d72636d602d0c755be234d726aed2 [file] [log] [blame]
Andrew Geisslereff27472021-10-29 15:35:00 -05001From 95c61768e1f8d76a7bd28355429fc4b7b428ad61 Mon Sep 17 00:00:00 2001
Brad Bishop19323692019-04-05 15:28:33 -04002From: Chen Qi <Qi.Chen@windriver.com>
3Date: Mon, 25 Feb 2019 14:18:21 +0800
William A. Kennington IIIac69b482021-06-02 12:28:27 -07004Subject: [PATCH] src/basic/missing.h: check for missing strndupa
Brad Bishop19323692019-04-05 15:28:33 -04005
6include missing.h for definition of strndupa
7
8Upstream-Status: Inappropriate [musl specific]
9
10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Brad Bishopc342db32019-05-15 21:57:59 -040012[Rebased for v242]
13Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Brad Bishopa34c0302019-09-23 22:34:48 -040014[rebased for systemd 243]
15Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Andrew Geissler82c905d2020-04-13 13:39:40 -050016Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
17[rebased for systemd 244]
Andrew Geisslerd1e89492021-02-12 15:35:20 -060018[Rebased for v247]
19Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
William A. Kennington IIIac69b482021-06-02 12:28:27 -070020
Brad Bishop19323692019-04-05 15:28:33 -040021---
Brad Bishopc342db32019-05-15 21:57:59 -040022 meson.build | 1 +
23 src/backlight/backlight.c | 1 +
Andrew Geissler82c905d2020-04-13 13:39:40 -050024 src/basic/cgroup-util.c | 1 +
Brad Bishopc342db32019-05-15 21:57:59 -040025 src/basic/env-util.c | 1 +
Andrew Geissler82c905d2020-04-13 13:39:40 -050026 src/basic/log.c | 1 +
Brad Bishopc342db32019-05-15 21:57:59 -040027 src/basic/missing_stdlib.h | 12 ++++++++++++
28 src/basic/mkdir.c | 1 +
William A. Kennington IIIac69b482021-06-02 12:28:27 -070029 src/basic/mountpoint-util.c | 1 +
Brad Bishopc342db32019-05-15 21:57:59 -040030 src/basic/parse-util.c | 1 +
Andrew Geissler635e0e42020-08-21 15:58:33 -050031 src/basic/path-lookup.c | 1 +
Andrew Geisslerd159c7f2021-09-02 21:05:58 -050032 src/basic/percent-util.c | 1 +
Brad Bishopc342db32019-05-15 21:57:59 -040033 src/basic/proc-cmdline.c | 1 +
34 src/basic/procfs-util.c | 1 +
35 src/basic/time-util.c | 1 +
Andrew Geissler82c905d2020-04-13 13:39:40 -050036 src/boot/bless-boot.c | 1 +
Brad Bishopc342db32019-05-15 21:57:59 -040037 src/core/dbus-cgroup.c | 1 +
Andrew Geissler82c905d2020-04-13 13:39:40 -050038 src/core/dbus-execute.c | 1 +
Brad Bishopc342db32019-05-15 21:57:59 -040039 src/core/dbus-util.c | 1 +
Andrew Geissler82c905d2020-04-13 13:39:40 -050040 src/core/execute.c | 1 +
Brad Bishopc342db32019-05-15 21:57:59 -040041 src/core/kmod-setup.c | 1 +
42 src/core/service.c | 1 +
Andrew Geissler82c905d2020-04-13 13:39:40 -050043 src/coredump/coredump-vacuum.c | 1 +
44 src/journal-remote/journal-remote-main.c | 1 +
Brad Bishopc342db32019-05-15 21:57:59 -040045 src/journal/journalctl.c | 1 +
46 src/libsystemd/sd-bus/bus-message.c | 1 +
47 src/libsystemd/sd-bus/bus-objects.c | 1 +
Andrew Geissler82c905d2020-04-13 13:39:40 -050048 src/libsystemd/sd-bus/bus-socket.c | 1 +
49 src/libsystemd/sd-bus/sd-bus.c | 1 +
Brad Bishopc342db32019-05-15 21:57:59 -040050 src/libsystemd/sd-bus/test-bus-benchmark.c | 1 +
William A. Kennington IIIac69b482021-06-02 12:28:27 -070051 src/libsystemd/sd-journal/sd-journal.c | 1 +
Brad Bishopc342db32019-05-15 21:57:59 -040052 src/locale/keymap-util.c | 1 +
Brad Bishopa34c0302019-09-23 22:34:48 -040053 src/login/pam_systemd.c | 1 +
54 src/network/generator/network-generator.c | 1 +
Brad Bishopc342db32019-05-15 21:57:59 -040055 src/nspawn/nspawn-settings.c | 1 +
Andrew Geissler82c905d2020-04-13 13:39:40 -050056 src/nss-mymachines/nss-mymachines.c | 1 +
57 src/portable/portable.c | 1 +
58 src/resolve/resolvectl.c | 1 +
Andrew Geissler635e0e42020-08-21 15:58:33 -050059 src/shared/bus-get-properties.c | 1 +
Andrew Geissler82c905d2020-04-13 13:39:40 -050060 src/shared/bus-unit-procs.c | 1 +
61 src/shared/bus-unit-util.c | 1 +
62 src/shared/bus-util.c | 1 +
Brad Bishopc342db32019-05-15 21:57:59 -040063 src/shared/dns-domain.c | 1 +
64 src/shared/journal-importer.c | 1 +
65 src/shared/logs-show.c | 1 +
66 src/shared/pager.c | 1 +
Brad Bishopc342db32019-05-15 21:57:59 -040067 src/shared/uid-range.c | 1 +
68 src/socket-proxy/socket-proxyd.c | 1 +
69 src/test/test-hexdecoct.c | 1 +
70 src/udev/udev-builtin-path_id.c | 1 +
Brad Bishopa34c0302019-09-23 22:34:48 -040071 src/udev/udev-event.c | 1 +
Brad Bishopc342db32019-05-15 21:57:59 -040072 src/udev/udev-rules.c | 1 +
William A. Kennington IIIac69b482021-06-02 12:28:27 -070073 51 files changed, 62 insertions(+)
Brad Bishop19323692019-04-05 15:28:33 -040074
Andrew Geisslerd159c7f2021-09-02 21:05:58 -050075diff --git a/meson.build b/meson.build
Andrew Geisslereff27472021-10-29 15:35:00 -050076index 11cf56efee..5bd6602e03 100644
Brad Bishop19323692019-04-05 15:28:33 -040077--- a/meson.build
78+++ b/meson.build
Andrew Geisslerd159c7f2021-09-02 21:05:58 -050079@@ -480,6 +480,7 @@ foreach ident : ['secure_getenv', '__secure_getenv']
Patrick Williams213cb262021-08-07 19:21:33 -050080 endforeach
Andrew Geisslerd159c7f2021-09-02 21:05:58 -050081
Patrick Williams213cb262021-08-07 19:21:33 -050082 foreach ident : [
Brad Bishop19323692019-04-05 15:28:33 -040083+ ['strndupa' , '''#include <string.h>'''],
Patrick Williams213cb262021-08-07 19:21:33 -050084 ['memfd_create', '''#include <sys/mman.h>'''],
85 ['gettid', '''#include <sys/types.h>
86 #include <unistd.h>'''],
Andrew Geisslerd159c7f2021-09-02 21:05:58 -050087diff --git a/src/backlight/backlight.c b/src/backlight/backlight.c
88index 7c0970a60c..c129ff0f4f 100644
Brad Bishopc342db32019-05-15 21:57:59 -040089--- a/src/backlight/backlight.c
90+++ b/src/backlight/backlight.c
Andrew Geisslerd1e89492021-02-12 15:35:20 -060091@@ -19,6 +19,7 @@
Brad Bishopc342db32019-05-15 21:57:59 -040092 #include "string-util.h"
93 #include "strv.h"
94 #include "util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -050095+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -050096
Andrew Geisslerd1e89492021-02-12 15:35:20 -060097 static int help(void) {
98 _cleanup_free_ char *link = NULL;
Andrew Geisslerd159c7f2021-09-02 21:05:58 -050099diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c
100index 1ff6160dc8..c9efd862a2 100644
Andrew Geissler82c905d2020-04-13 13:39:40 -0500101--- a/src/basic/cgroup-util.c
102+++ b/src/basic/cgroup-util.c
Andrew Geissler635e0e42020-08-21 15:58:33 -0500103@@ -38,6 +38,7 @@
Andrew Geissler82c905d2020-04-13 13:39:40 -0500104 #include "unit-name.h"
105 #include "user-util.h"
Andrew Geissler635e0e42020-08-21 15:58:33 -0500106 #include "xattr-util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500107+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500108
Andrew Geissler82c905d2020-04-13 13:39:40 -0500109 static int cg_enumerate_items(const char *controller, const char *path, FILE **_f, const char *item) {
110 _cleanup_free_ char *fs = NULL;
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500111diff --git a/src/basic/env-util.c b/src/basic/env-util.c
Andrew Geisslereff27472021-10-29 15:35:00 -0500112index 1ca445dab4..1f5a212d4e 100644
Brad Bishopc342db32019-05-15 21:57:59 -0400113--- a/src/basic/env-util.c
114+++ b/src/basic/env-util.c
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700115@@ -18,6 +18,7 @@
Brad Bishopc342db32019-05-15 21:57:59 -0400116 #include "string-util.h"
117 #include "strv.h"
118 #include "utf8.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500119+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500120
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600121 /* We follow bash for the character set. Different shells have different rules. */
122 #define VALID_BASH_ENV_NAME_CHARS \
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500123diff --git a/src/basic/log.c b/src/basic/log.c
124index fb183ea9e7..82e7bdff60 100644
Andrew Geissler82c905d2020-04-13 13:39:40 -0500125--- a/src/basic/log.c
126+++ b/src/basic/log.c
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600127@@ -36,6 +36,7 @@
Andrew Geissler82c905d2020-04-13 13:39:40 -0500128 #include "terminal-util.h"
129 #include "time-util.h"
130 #include "utf8.h"
131+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500132
Andrew Geissler82c905d2020-04-13 13:39:40 -0500133 #define SNDBUF_SIZE (8*1024*1024)
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500134
135diff --git a/src/basic/missing_stdlib.h b/src/basic/missing_stdlib.h
136index 8c76f93eb2..9068bfb4f0 100644
Brad Bishop19323692019-04-05 15:28:33 -0400137--- a/src/basic/missing_stdlib.h
138+++ b/src/basic/missing_stdlib.h
139@@ -11,3 +11,15 @@
Brad Bishopc68388fc2019-08-26 01:33:31 -0400140 # error "neither secure_getenv nor __secure_getenv are available"
Brad Bishop19323692019-04-05 15:28:33 -0400141 # endif
142 #endif
143+
144+/* string.h */
145+#if ! HAVE_STRNDUPA
146+#define strndupa(s, n) \
147+ ({ \
148+ const char *__old = (s); \
149+ size_t __len = strnlen(__old, (n)); \
150+ char *__new = (char *)alloca(__len + 1); \
151+ __new[__len] = '\0'; \
152+ (char *)memcpy(__new, __old, __len); \
153+ })
154+#endif
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500155diff --git a/src/basic/mkdir.c b/src/basic/mkdir.c
156index f91f8f7a08..fb31596216 100644
Brad Bishop19323692019-04-05 15:28:33 -0400157--- a/src/basic/mkdir.c
158+++ b/src/basic/mkdir.c
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600159@@ -14,6 +14,7 @@
Brad Bishop19323692019-04-05 15:28:33 -0400160 #include "stat-util.h"
161 #include "stdio-util.h"
162 #include "user-util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500163+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500164
Andrew Geissler635e0e42020-08-21 15:58:33 -0500165 int mkdir_safe_internal(
166 const char *path,
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500167diff --git a/src/basic/mountpoint-util.c b/src/basic/mountpoint-util.c
Andrew Geisslereff27472021-10-29 15:35:00 -0500168index e7a5a99551..3cc157f248 100644
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700169--- a/src/basic/mountpoint-util.c
170+++ b/src/basic/mountpoint-util.c
Patrick Williams213cb262021-08-07 19:21:33 -0500171@@ -11,6 +11,7 @@
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700172 #include "missing_stat.h"
173 #include "missing_syscall.h"
174 #include "mkdir.h"
175+#include "missing_stdlib.h"
176 #include "mountpoint-util.h"
177 #include "parse-util.h"
178 #include "path-util.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500179diff --git a/src/basic/parse-util.c b/src/basic/parse-util.c
180index b79c885dfd..6dabda5691 100644
Brad Bishop19323692019-04-05 15:28:33 -0400181--- a/src/basic/parse-util.c
182+++ b/src/basic/parse-util.c
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700183@@ -19,6 +19,7 @@
Brad Bishop19323692019-04-05 15:28:33 -0400184 #include "stat-util.h"
185 #include "string-util.h"
Andrew Geissler635e0e42020-08-21 15:58:33 -0500186 #include "strv.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500187+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500188
Brad Bishop19323692019-04-05 15:28:33 -0400189 int parse_boolean(const char *v) {
190 if (!v)
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500191diff --git a/src/basic/path-lookup.c b/src/basic/path-lookup.c
192index 05eb17d66c..b6026aab28 100644
Andrew Geissler635e0e42020-08-21 15:58:33 -0500193--- a/src/basic/path-lookup.c
194+++ b/src/basic/path-lookup.c
195@@ -15,6 +15,7 @@
196 #include "strv.h"
197 #include "tmpfile-util.h"
198 #include "user-util.h"
199+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500200
Andrew Geissler635e0e42020-08-21 15:58:33 -0500201 int xdg_user_runtime_dir(char **ret, const char *suffix) {
202 const char *e;
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500203diff --git a/src/basic/percent-util.c b/src/basic/percent-util.c
204index 06f20fd61e..8159d721bb 100644
205--- a/src/basic/percent-util.c
206+++ b/src/basic/percent-util.c
207@@ -3,6 +3,7 @@
208 #include "percent-util.h"
209 #include "string-util.h"
210 #include "parse-util.h"
211+#include "missing_stdlib.h"
212
213 static int parse_parts_value_whole(const char *p, const char *symbol) {
214 const char *pc, *n;
215diff --git a/src/basic/proc-cmdline.c b/src/basic/proc-cmdline.c
216index 410b8a3eb5..f2c4355609 100644
Brad Bishopc342db32019-05-15 21:57:59 -0400217--- a/src/basic/proc-cmdline.c
218+++ b/src/basic/proc-cmdline.c
219@@ -15,6 +15,7 @@
220 #include "string-util.h"
221 #include "util.h"
222 #include "virt.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500223+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500224
Brad Bishopc342db32019-05-15 21:57:59 -0400225 int proc_cmdline(char **ret) {
226 const char *e;
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500227diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c
228index 9234ccaf85..8c57094225 100644
Brad Bishop19323692019-04-05 15:28:33 -0400229--- a/src/basic/procfs-util.c
230+++ b/src/basic/procfs-util.c
231@@ -11,6 +11,7 @@
232 #include "procfs-util.h"
233 #include "stdio-util.h"
234 #include "string-util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500235+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500236
Brad Bishop19323692019-04-05 15:28:33 -0400237 int procfs_tasks_get_limit(uint64_t *ret) {
238 _cleanup_free_ char *value = NULL;
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500239diff --git a/src/basic/time-util.c b/src/basic/time-util.c
240index 5d162e8ffe..1cde8e4262 100644
Brad Bishopc342db32019-05-15 21:57:59 -0400241--- a/src/basic/time-util.c
242+++ b/src/basic/time-util.c
Patrick Williams213cb262021-08-07 19:21:33 -0500243@@ -26,6 +26,7 @@
Brad Bishop19323692019-04-05 15:28:33 -0400244 #include "string-util.h"
245 #include "strv.h"
Brad Bishopc342db32019-05-15 21:57:59 -0400246 #include "time-util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500247+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500248
Brad Bishopc342db32019-05-15 21:57:59 -0400249 static clockid_t map_clock_id(clockid_t c) {
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500250
251diff --git a/src/boot/bless-boot.c b/src/boot/bless-boot.c
252index 3fc319ca27..90064c90f3 100644
Andrew Geissler82c905d2020-04-13 13:39:40 -0500253--- a/src/boot/bless-boot.c
254+++ b/src/boot/bless-boot.c
255@@ -18,6 +18,7 @@
256 #include "util.h"
257 #include "verbs.h"
258 #include "virt.h"
259+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500260
Andrew Geissler82c905d2020-04-13 13:39:40 -0500261 static char **arg_path = NULL;
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500262
263diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c
264index 84c3caf3a5..0fa84eaa38 100644
Brad Bishopc342db32019-05-15 21:57:59 -0400265--- a/src/core/dbus-cgroup.c
266+++ b/src/core/dbus-cgroup.c
Patrick Williams213cb262021-08-07 19:21:33 -0500267@@ -20,6 +20,7 @@
268 #include "parse-util.h"
Brad Bishopc342db32019-05-15 21:57:59 -0400269 #include "path-util.h"
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700270 #include "percent-util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500271+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500272
Andrew Geissler82c905d2020-04-13 13:39:40 -0500273 BUS_DEFINE_PROPERTY_GET(bus_property_get_tasks_max, "t", TasksMax, tasks_max_resolve);
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500274
275diff --git a/src/core/dbus-execute.c b/src/core/dbus-execute.c
Andrew Geisslereff27472021-10-29 15:35:00 -0500276index 902e074bd2..ac15b944e6 100644
Andrew Geissler82c905d2020-04-13 13:39:40 -0500277--- a/src/core/dbus-execute.c
278+++ b/src/core/dbus-execute.c
Patrick Williams213cb262021-08-07 19:21:33 -0500279@@ -42,6 +42,7 @@
Andrew Geissler82c905d2020-04-13 13:39:40 -0500280 #include "unit-printf.h"
281 #include "user-util.h"
282 #include "utf8.h"
283+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500284
Andrew Geissler82c905d2020-04-13 13:39:40 -0500285 BUS_DEFINE_PROPERTY_GET_ENUM(bus_property_get_exec_output, exec_output, ExecOutput);
286 static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_exec_input, exec_input, ExecInput);
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500287diff --git a/src/core/dbus-util.c b/src/core/dbus-util.c
288index ca9b399d8c..b864480a8c 100644
Brad Bishopc342db32019-05-15 21:57:59 -0400289--- a/src/core/dbus-util.c
290+++ b/src/core/dbus-util.c
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700291@@ -9,6 +9,7 @@
Brad Bishopc342db32019-05-15 21:57:59 -0400292 #include "unit-printf.h"
293 #include "user-util.h"
294 #include "unit.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500295+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500296
Brad Bishopc342db32019-05-15 21:57:59 -0400297 int bus_property_get_triggered_unit(
298 sd_bus *bus,
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500299diff --git a/src/core/execute.c b/src/core/execute.c
300index 2a337b55a2..2a64675c5f 100644
Andrew Geissler82c905d2020-04-13 13:39:40 -0500301--- a/src/core/execute.c
302+++ b/src/core/execute.c
Patrick Williams213cb262021-08-07 19:21:33 -0500303@@ -98,6 +98,7 @@
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700304 #include "unit-serialize.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500305 #include "user-util.h"
306 #include "utmp-wtmp.h"
307+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500308
Andrew Geissler82c905d2020-04-13 13:39:40 -0500309 #define IDLE_TIMEOUT_USEC (5*USEC_PER_SEC)
310 #define IDLE_TIMEOUT2_USEC (1*USEC_PER_SEC)
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500311diff --git a/src/core/kmod-setup.c b/src/core/kmod-setup.c
312index a56f12f47f..6b8729ef67 100644
Brad Bishopc342db32019-05-15 21:57:59 -0400313--- a/src/core/kmod-setup.c
314+++ b/src/core/kmod-setup.c
315@@ -11,6 +11,7 @@
Brad Bishopc342db32019-05-15 21:57:59 -0400316 #include "macro.h"
317 #include "string-util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500318 #include "missing_type.h"
319+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500320
Brad Bishopc342db32019-05-15 21:57:59 -0400321 #if HAVE_KMOD
Andrew Geissler82c905d2020-04-13 13:39:40 -0500322 #include "module-util.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500323diff --git a/src/core/service.c b/src/core/service.c
Andrew Geisslereff27472021-10-29 15:35:00 -0500324index 701c145565..4ddc20ed7e 100644
Brad Bishopc342db32019-05-15 21:57:59 -0400325--- a/src/core/service.c
326+++ b/src/core/service.c
Andrew Geissler82c905d2020-04-13 13:39:40 -0500327@@ -41,6 +41,7 @@
Brad Bishopc342db32019-05-15 21:57:59 -0400328 #include "unit.h"
329 #include "utf8.h"
330 #include "util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500331+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500332
Brad Bishopc342db32019-05-15 21:57:59 -0400333 static const UnitActiveState state_translation_table[_SERVICE_STATE_MAX] = {
334 [SERVICE_DEAD] = UNIT_INACTIVE,
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500335diff --git a/src/coredump/coredump-vacuum.c b/src/coredump/coredump-vacuum.c
336index 95c3fca661..d4a9f27b08 100644
Andrew Geissler82c905d2020-04-13 13:39:40 -0500337--- a/src/coredump/coredump-vacuum.c
338+++ b/src/coredump/coredump-vacuum.c
339@@ -16,6 +16,7 @@
340 #include "string-util.h"
341 #include "time-util.h"
342 #include "user-util.h"
343+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500344
Andrew Geissler82c905d2020-04-13 13:39:40 -0500345 #define DEFAULT_MAX_USE_LOWER (uint64_t) (1ULL*1024ULL*1024ULL) /* 1 MiB */
346 #define DEFAULT_MAX_USE_UPPER (uint64_t) (4ULL*1024ULL*1024ULL*1024ULL) /* 4 GiB */
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500347diff --git a/src/journal-remote/journal-remote-main.c b/src/journal-remote/journal-remote-main.c
348index ae1d43756a..24de98c9f3 100644
Andrew Geissler82c905d2020-04-13 13:39:40 -0500349--- a/src/journal-remote/journal-remote-main.c
350+++ b/src/journal-remote/journal-remote-main.c
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700351@@ -24,6 +24,7 @@
Andrew Geissler82c905d2020-04-13 13:39:40 -0500352 #include "stat-util.h"
353 #include "string-table.h"
354 #include "strv.h"
355+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500356
Andrew Geissler82c905d2020-04-13 13:39:40 -0500357 #define PRIV_KEY_FILE CERTIFICATE_ROOT "/private/journal-remote.pem"
358 #define CERT_FILE CERTIFICATE_ROOT "/certs/journal-remote.pem"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500359diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c
Andrew Geisslereff27472021-10-29 15:35:00 -0500360index 3eac97510d..db6913bc7a 100644
Brad Bishopc342db32019-05-15 21:57:59 -0400361--- a/src/journal/journalctl.c
362+++ b/src/journal/journalctl.c
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700363@@ -72,6 +72,7 @@
Brad Bishopc342db32019-05-15 21:57:59 -0400364 #include "unit-name.h"
365 #include "user-util.h"
Brad Bishopa34c0302019-09-23 22:34:48 -0400366 #include "varlink.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500367+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500368
Brad Bishopc342db32019-05-15 21:57:59 -0400369 #define DEFAULT_FSS_INTERVAL_USEC (15*USEC_PER_MINUTE)
Andrew Geissler82c905d2020-04-13 13:39:40 -0500370 #define PROCESS_INOTIFY_INTERVAL 1024 /* Every 1,024 messages processed */
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500371diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c
372index 20f7396c74..3471311ef5 100644
Brad Bishopc342db32019-05-15 21:57:59 -0400373--- a/src/libsystemd/sd-bus/bus-message.c
374+++ b/src/libsystemd/sd-bus/bus-message.c
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700375@@ -20,6 +20,7 @@
Brad Bishopc342db32019-05-15 21:57:59 -0400376 #include "strv.h"
377 #include "time-util.h"
378 #include "utf8.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500379+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500380
Brad Bishopc342db32019-05-15 21:57:59 -0400381 static int message_append_basic(sd_bus_message *m, char type, const void *p, const void **stored);
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500382
383diff --git a/src/libsystemd/sd-bus/bus-objects.c b/src/libsystemd/sd-bus/bus-objects.c
384index bfd42aea7d..daefc56e3e 100644
Brad Bishopc342db32019-05-15 21:57:59 -0400385--- a/src/libsystemd/sd-bus/bus-objects.c
386+++ b/src/libsystemd/sd-bus/bus-objects.c
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700387@@ -12,6 +12,7 @@
Brad Bishopc342db32019-05-15 21:57:59 -0400388 #include "set.h"
389 #include "string-util.h"
390 #include "strv.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500391+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500392
Brad Bishopc342db32019-05-15 21:57:59 -0400393 static int node_vtable_get_userdata(
394 sd_bus *bus,
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500395diff --git a/src/libsystemd/sd-bus/bus-socket.c b/src/libsystemd/sd-bus/bus-socket.c
396index 378774fe8b..2694c177d5 100644
Andrew Geissler82c905d2020-04-13 13:39:40 -0500397--- a/src/libsystemd/sd-bus/bus-socket.c
398+++ b/src/libsystemd/sd-bus/bus-socket.c
Patrick Williams213cb262021-08-07 19:21:33 -0500399@@ -27,6 +27,7 @@
Andrew Geissler82c905d2020-04-13 13:39:40 -0500400 #include "string-util.h"
401 #include "user-util.h"
402 #include "utf8.h"
403+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500404
Andrew Geissler82c905d2020-04-13 13:39:40 -0500405 #define SNDBUF_SIZE (8*1024*1024)
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500406
407diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystemd/sd-bus/sd-bus.c
408index a32e2f5e20..97fd3aec82 100644
Andrew Geissler82c905d2020-04-13 13:39:40 -0500409--- a/src/libsystemd/sd-bus/sd-bus.c
410+++ b/src/libsystemd/sd-bus/sd-bus.c
Patrick Williams213cb262021-08-07 19:21:33 -0500411@@ -42,6 +42,7 @@
Andrew Geissler82c905d2020-04-13 13:39:40 -0500412 #include "string-util.h"
413 #include "strv.h"
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700414 #include "user-util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500415+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500416
Andrew Geissler82c905d2020-04-13 13:39:40 -0500417 #define log_debug_bus_message(m) \
418 do { \
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500419diff --git a/src/libsystemd/sd-bus/test-bus-benchmark.c b/src/libsystemd/sd-bus/test-bus-benchmark.c
420index 13c08fe295..9aae83486e 100644
Brad Bishopc342db32019-05-15 21:57:59 -0400421--- a/src/libsystemd/sd-bus/test-bus-benchmark.c
422+++ b/src/libsystemd/sd-bus/test-bus-benchmark.c
423@@ -14,6 +14,7 @@
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700424 #include "string-util.h"
Brad Bishopc342db32019-05-15 21:57:59 -0400425 #include "time-util.h"
426 #include "util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500427+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500428
Brad Bishopc342db32019-05-15 21:57:59 -0400429 #define MAX_SIZE (2*1024*1024)
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500430
431diff --git a/src/libsystemd/sd-journal/sd-journal.c b/src/libsystemd/sd-journal/sd-journal.c
Andrew Geisslereff27472021-10-29 15:35:00 -0500432index b3240177cb..7e3ae2d24f 100644
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700433--- a/src/libsystemd/sd-journal/sd-journal.c
434+++ b/src/libsystemd/sd-journal/sd-journal.c
435@@ -40,6 +40,7 @@
436 #include "string-util.h"
437 #include "strv.h"
438 #include "syslog-util.h"
439+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500440
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700441 #define JOURNAL_FILES_MAX 7168
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500442
443diff --git a/src/locale/keymap-util.c b/src/locale/keymap-util.c
444index d2f0566dbc..3b7746557e 100644
Brad Bishopc342db32019-05-15 21:57:59 -0400445--- a/src/locale/keymap-util.c
446+++ b/src/locale/keymap-util.c
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700447@@ -24,6 +24,7 @@
Brad Bishopc342db32019-05-15 21:57:59 -0400448 #include "string-util.h"
449 #include "strv.h"
450 #include "tmpfile-util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500451+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500452
Brad Bishopc342db32019-05-15 21:57:59 -0400453 static bool startswith_comma(const char *s, const char *prefix) {
454 s = startswith(s, prefix);
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500455diff --git a/src/login/pam_systemd.c b/src/login/pam_systemd.c
456index f8bd17eefe..9633fbc152 100644
Brad Bishopa34c0302019-09-23 22:34:48 -0400457--- a/src/login/pam_systemd.c
458+++ b/src/login/pam_systemd.c
Andrew Geissler82c905d2020-04-13 13:39:40 -0500459@@ -31,6 +31,7 @@
460 #include "locale-util.h"
Brad Bishopa34c0302019-09-23 22:34:48 -0400461 #include "login-util.h"
462 #include "macro.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500463+#include "missing_stdlib.h"
464 #include "pam-util.h"
Brad Bishopa34c0302019-09-23 22:34:48 -0400465 #include "parse-util.h"
466 #include "path-util.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500467diff --git a/src/network/generator/network-generator.c b/src/network/generator/network-generator.c
468index 60e074e99b..a728e3b7a1 100644
Brad Bishopa34c0302019-09-23 22:34:48 -0400469--- a/src/network/generator/network-generator.c
470+++ b/src/network/generator/network-generator.c
471@@ -13,6 +13,7 @@
472 #include "string-table.h"
473 #include "string-util.h"
474 #include "strv.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500475+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500476
Brad Bishopa34c0302019-09-23 22:34:48 -0400477 /*
478 # .network
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500479diff --git a/src/nspawn/nspawn-settings.c b/src/nspawn/nspawn-settings.c
480index 3847fe4ec4..3696b57baa 100644
Brad Bishopc342db32019-05-15 21:57:59 -0400481--- a/src/nspawn/nspawn-settings.c
482+++ b/src/nspawn/nspawn-settings.c
Patrick Williams213cb262021-08-07 19:21:33 -0500483@@ -17,6 +17,7 @@
Brad Bishopc342db32019-05-15 21:57:59 -0400484 #include "strv.h"
Brad Bishop19323692019-04-05 15:28:33 -0400485 #include "user-util.h"
486 #include "util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500487+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500488
Brad Bishopc342db32019-05-15 21:57:59 -0400489 Settings *settings_new(void) {
490 Settings *s;
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500491diff --git a/src/nss-mymachines/nss-mymachines.c b/src/nss-mymachines/nss-mymachines.c
492index 44715bb3e5..bc1e688b5e 100644
Andrew Geissler82c905d2020-04-13 13:39:40 -0500493--- a/src/nss-mymachines/nss-mymachines.c
494+++ b/src/nss-mymachines/nss-mymachines.c
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700495@@ -21,6 +21,7 @@
Andrew Geissler635e0e42020-08-21 15:58:33 -0500496 #include "nss-util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500497 #include "signal-util.h"
498 #include "string-util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500499+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500500
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700501 static void setup_logging(void) {
502 /* We need a dummy function because log_parse_environment is a macro. */
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500503diff --git a/src/portable/portable.c b/src/portable/portable.c
504index 4cf5fb4f0a..577dc5c8d7 100644
Andrew Geissler82c905d2020-04-13 13:39:40 -0500505--- a/src/portable/portable.c
506+++ b/src/portable/portable.c
Patrick Williams213cb262021-08-07 19:21:33 -0500507@@ -34,6 +34,7 @@
Andrew Geissler82c905d2020-04-13 13:39:40 -0500508 #include "strv.h"
509 #include "tmpfile-util.h"
510 #include "user-util.h"
511+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500512
Andrew Geissler82c905d2020-04-13 13:39:40 -0500513 static const char profile_dirs[] = CONF_PATHS_NULSTR("systemd/portable/profile");
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500514
515diff --git a/src/resolve/resolvectl.c b/src/resolve/resolvectl.c
516index 7d13ed3905..ddc37115b8 100644
Andrew Geissler82c905d2020-04-13 13:39:40 -0500517--- a/src/resolve/resolvectl.c
518+++ b/src/resolve/resolvectl.c
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700519@@ -41,6 +41,7 @@
Andrew Geissler82c905d2020-04-13 13:39:40 -0500520 #include "terminal-util.h"
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600521 #include "utf8.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500522 #include "verbs.h"
523+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500524
Andrew Geissler82c905d2020-04-13 13:39:40 -0500525 static int arg_family = AF_UNSPEC;
526 static int arg_ifindex = 0;
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500527diff --git a/src/shared/bus-get-properties.c b/src/shared/bus-get-properties.c
528index feb6d3807f..eb11d29e50 100644
Andrew Geissler635e0e42020-08-21 15:58:33 -0500529--- a/src/shared/bus-get-properties.c
530+++ b/src/shared/bus-get-properties.c
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600531@@ -4,6 +4,7 @@
Andrew Geissler635e0e42020-08-21 15:58:33 -0500532 #include "rlimit-util.h"
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600533 #include "stdio-util.h"
Andrew Geissler635e0e42020-08-21 15:58:33 -0500534 #include "string-util.h"
535+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500536
Andrew Geissler635e0e42020-08-21 15:58:33 -0500537 int bus_property_get_bool(
538 sd_bus *bus,
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500539diff --git a/src/shared/bus-unit-procs.c b/src/shared/bus-unit-procs.c
540index 6f4a71138c..4a46de2c1b 100644
Andrew Geissler82c905d2020-04-13 13:39:40 -0500541--- a/src/shared/bus-unit-procs.c
542+++ b/src/shared/bus-unit-procs.c
543@@ -10,6 +10,7 @@
544 #include "sort-util.h"
545 #include "string-util.h"
546 #include "terminal-util.h"
547+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500548
Andrew Geissler82c905d2020-04-13 13:39:40 -0500549 struct CGroupInfo {
550 char *cgroup_path;
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500551diff --git a/src/shared/bus-unit-util.c b/src/shared/bus-unit-util.c
552index d3a5b25d18..003594e2d7 100644
Andrew Geissler82c905d2020-04-13 13:39:40 -0500553--- a/src/shared/bus-unit-util.c
554+++ b/src/shared/bus-unit-util.c
Patrick Williams213cb262021-08-07 19:21:33 -0500555@@ -47,6 +47,7 @@
Andrew Geissler82c905d2020-04-13 13:39:40 -0500556 #include "unit-def.h"
557 #include "user-util.h"
558 #include "utf8.h"
559+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500560
Andrew Geissler82c905d2020-04-13 13:39:40 -0500561 int bus_parse_unit_info(sd_bus_message *message, UnitInfo *u) {
562 assert(message);
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500563diff --git a/src/shared/bus-util.c b/src/shared/bus-util.c
564index 64ca67993c..31e3d148ea 100644
Andrew Geissler82c905d2020-04-13 13:39:40 -0500565--- a/src/shared/bus-util.c
566+++ b/src/shared/bus-util.c
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600567@@ -21,6 +21,7 @@
568 #include "path-util.h"
Andrew Geissler635e0e42020-08-21 15:58:33 -0500569 #include "socket-util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500570 #include "stdio-util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500571+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500572
Andrew Geissler82c905d2020-04-13 13:39:40 -0500573 static int name_owner_change_callback(sd_bus_message *m, void *userdata, sd_bus_error *ret_error) {
574 sd_event *e = userdata;
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500575diff --git a/src/shared/dns-domain.c b/src/shared/dns-domain.c
576index 787bb8fec9..009589a16f 100644
Brad Bishopc342db32019-05-15 21:57:59 -0400577--- a/src/shared/dns-domain.c
578+++ b/src/shared/dns-domain.c
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600579@@ -17,6 +17,7 @@
Brad Bishopc342db32019-05-15 21:57:59 -0400580 #include "string-util.h"
581 #include "strv.h"
582 #include "utf8.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500583+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500584
Brad Bishopc342db32019-05-15 21:57:59 -0400585 int dns_label_unescape(const char **name, char *dest, size_t sz, DNSLabelFlags flags) {
586 const char *n;
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500587diff --git a/src/shared/journal-importer.c b/src/shared/journal-importer.c
588index 9e11dc09c1..f9954c1520 100644
Brad Bishopc342db32019-05-15 21:57:59 -0400589--- a/src/shared/journal-importer.c
590+++ b/src/shared/journal-importer.c
Patrick Williams213cb262021-08-07 19:21:33 -0500591@@ -15,6 +15,7 @@
Brad Bishopc342db32019-05-15 21:57:59 -0400592 #include "parse-util.h"
593 #include "string-util.h"
594 #include "unaligned.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500595+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500596
Brad Bishopc342db32019-05-15 21:57:59 -0400597 enum {
598 IMPORTER_STATE_LINE = 0, /* waiting to read, or reading line */
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500599diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c
600index e63c59bd94..dd9773c009 100644
Brad Bishopc342db32019-05-15 21:57:59 -0400601--- a/src/shared/logs-show.c
602+++ b/src/shared/logs-show.c
Andrew Geissler635e0e42020-08-21 15:58:33 -0500603@@ -41,6 +41,7 @@
Brad Bishopc342db32019-05-15 21:57:59 -0400604 #include "utf8.h"
605 #include "util.h"
Andrew Geissler635e0e42020-08-21 15:58:33 -0500606 #include "web-util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500607+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500608
Brad Bishopc342db32019-05-15 21:57:59 -0400609 /* up to three lines (each up to 100 characters) or 300 characters, whichever is less */
610 #define PRINT_LINE_THRESHOLD 3
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500611diff --git a/src/shared/pager.c b/src/shared/pager.c
612index 4bbad7e37b..eefcdd068c 100644
Brad Bishopc342db32019-05-15 21:57:59 -0400613--- a/src/shared/pager.c
614+++ b/src/shared/pager.c
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600615@@ -26,6 +26,7 @@
Brad Bishopc342db32019-05-15 21:57:59 -0400616 #include "strv.h"
617 #include "terminal-util.h"
618 #include "util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500619+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500620
Brad Bishopc342db32019-05-15 21:57:59 -0400621 static pid_t pager_pid = 0;
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500622
623diff --git a/src/shared/uid-range.c b/src/shared/uid-range.c
624index 5d5bf7f21d..f1002ffa6c 100644
Brad Bishopc342db32019-05-15 21:57:59 -0400625--- a/src/shared/uid-range.c
626+++ b/src/shared/uid-range.c
627@@ -9,6 +9,7 @@
628 #include "sort-util.h"
629 #include "uid-range.h"
630 #include "user-util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500631+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500632
Brad Bishop19323692019-04-05 15:28:33 -0400633 static bool uid_range_intersect(UidRange *range, uid_t start, uid_t nr) {
634 assert(range);
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500635diff --git a/src/socket-proxy/socket-proxyd.c b/src/socket-proxy/socket-proxyd.c
636index 6e3ee0d76b..7727e33d95 100644
Brad Bishopc342db32019-05-15 21:57:59 -0400637--- a/src/socket-proxy/socket-proxyd.c
638+++ b/src/socket-proxy/socket-proxyd.c
Andrew Geissler82c905d2020-04-13 13:39:40 -0500639@@ -26,6 +26,7 @@
Brad Bishopc342db32019-05-15 21:57:59 -0400640 #include "socket-util.h"
641 #include "string-util.h"
642 #include "util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500643+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500644
Brad Bishopc342db32019-05-15 21:57:59 -0400645 #define BUFFER_SIZE (256 * 1024)
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500646
647diff --git a/src/test/test-hexdecoct.c b/src/test/test-hexdecoct.c
648index c9d318b8d1..fcb8d40805 100644
Brad Bishopc342db32019-05-15 21:57:59 -0400649--- a/src/test/test-hexdecoct.c
650+++ b/src/test/test-hexdecoct.c
651@@ -6,6 +6,7 @@
652 #include "hexdecoct.h"
653 #include "macro.h"
654 #include "string-util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500655+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500656
Brad Bishopc342db32019-05-15 21:57:59 -0400657 static void test_hexchar(void) {
658 assert_se(hexchar(0xa) == 'a');
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500659diff --git a/src/udev/udev-builtin-path_id.c b/src/udev/udev-builtin-path_id.c
660index 65c40de4c8..4ef9a0c6c8 100644
Brad Bishopc342db32019-05-15 21:57:59 -0400661--- a/src/udev/udev-builtin-path_id.c
662+++ b/src/udev/udev-builtin-path_id.c
Andrew Geissler82c905d2020-04-13 13:39:40 -0500663@@ -22,6 +22,7 @@
Brad Bishopc342db32019-05-15 21:57:59 -0400664 #include "sysexits.h"
665 #include "udev-builtin.h"
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700666 #include "udev-util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500667+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500668
Brad Bishopc342db32019-05-15 21:57:59 -0400669 _printf_(2,3)
670 static void path_prepend(char **path, const char *fmt, ...) {
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500671diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c
672index b28089be71..a7e2232299 100644
Brad Bishopa34c0302019-09-23 22:34:48 -0400673--- a/src/udev/udev-event.c
674+++ b/src/udev/udev-event.c
Patrick Williams213cb262021-08-07 19:21:33 -0500675@@ -34,6 +34,7 @@
Brad Bishopa34c0302019-09-23 22:34:48 -0400676 #include "udev-util.h"
677 #include "udev-watch.h"
Brad Bishopc342db32019-05-15 21:57:59 -0400678 #include "user-util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500679+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500680
Brad Bishopa34c0302019-09-23 22:34:48 -0400681 typedef struct Spawn {
682 sd_device *device;
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500683diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c
684index bf997fc0ed..e3f5f1f2e2 100644
Brad Bishopa34c0302019-09-23 22:34:48 -0400685--- a/src/udev/udev-rules.c
686+++ b/src/udev/udev-rules.c
Patrick Williams213cb262021-08-07 19:21:33 -0500687@@ -33,6 +33,7 @@
688 #include "udev-util.h"
Brad Bishopa34c0302019-09-23 22:34:48 -0400689 #include "user-util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500690 #include "virt.h"
691+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500692
Brad Bishopa34c0302019-09-23 22:34:48 -0400693 #define RULES_DIRS (const char* const*) CONF_PATHS_STRV("udev/rules.d")
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500694