summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/systemd/systemd/0003-src-basic-missing.h-check-for-missing-strndupa.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-core/systemd/systemd/0003-src-basic-missing.h-check-for-missing-strndupa.patch')
-rw-r--r--meta/recipes-core/systemd/systemd/0003-src-basic-missing.h-check-for-missing-strndupa.patch699
1 files changed, 699 insertions, 0 deletions
diff --git a/meta/recipes-core/systemd/systemd/0003-src-basic-missing.h-check-for-missing-strndupa.patch b/meta/recipes-core/systemd/systemd/0003-src-basic-missing.h-check-for-missing-strndupa.patch
new file mode 100644
index 0000000000..5595b5bc23
--- /dev/null
+++ b/meta/recipes-core/systemd/systemd/0003-src-basic-missing.h-check-for-missing-strndupa.patch
@@ -0,0 +1,699 @@
1From 87f1d38f40c5fe9cadf2b2de442473e4e5605788 Mon Sep 17 00:00:00 2001
2From: Chen Qi <Qi.Chen@windriver.com>
3Date: Mon, 25 Feb 2019 14:18:21 +0800
4Subject: [PATCH 03/22] src/basic/missing.h: check for missing strndupa
5
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>
12[Rebased for v242]
13Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
14[rebased for systemd 243]
15Signed-off-by: Scott Murray <scott.murray@konsulko.com>
16Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
17[rebased for systemd 244]
18[Rebased for v247]
19Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
20[Rebased for v254]
21Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
22[Rebased for v255.1]
23---
24 meson.build | 1 +
25 src/backlight/backlight.c | 1 +
26 src/basic/cgroup-util.c | 1 +
27 src/basic/env-util.c | 1 +
28 src/basic/log.c | 1 +
29 src/basic/missing_stdlib.h | 12 ++++++++++++
30 src/basic/mkdir.c | 1 +
31 src/basic/mountpoint-util.c | 1 +
32 src/basic/parse-util.c | 1 +
33 src/basic/path-lookup.c | 1 +
34 src/basic/percent-util.c | 1 +
35 src/basic/proc-cmdline.c | 1 +
36 src/basic/procfs-util.c | 1 +
37 src/basic/time-util.c | 1 +
38 src/boot/bless-boot.c | 1 +
39 src/core/dbus-cgroup.c | 1 +
40 src/core/dbus-execute.c | 1 +
41 src/core/dbus-util.c | 1 +
42 src/core/execute.c | 1 +
43 src/core/kmod-setup.c | 1 +
44 src/core/service.c | 1 +
45 src/coredump/coredump-vacuum.c | 1 +
46 src/fstab-generator/fstab-generator.c | 1 +
47 src/journal-remote/journal-remote-main.c | 1 +
48 src/journal/journalctl.c | 1 +
49 src/libsystemd/sd-bus/bus-message.c | 1 +
50 src/libsystemd/sd-bus/bus-objects.c | 1 +
51 src/libsystemd/sd-bus/bus-socket.c | 1 +
52 src/libsystemd/sd-bus/sd-bus.c | 1 +
53 src/libsystemd/sd-bus/test-bus-benchmark.c | 1 +
54 src/libsystemd/sd-journal/sd-journal.c | 1 +
55 src/login/pam_systemd.c | 1 +
56 src/network/generator/network-generator.c | 1 +
57 src/nspawn/nspawn-settings.c | 1 +
58 src/nss-mymachines/nss-mymachines.c | 1 +
59 src/portable/portable.c | 1 +
60 src/resolve/resolvectl.c | 1 +
61 src/shared/bus-get-properties.c | 1 +
62 src/shared/bus-unit-procs.c | 1 +
63 src/shared/bus-unit-util.c | 1 +
64 src/shared/bus-util.c | 1 +
65 src/shared/dns-domain.c | 1 +
66 src/shared/journal-importer.c | 1 +
67 src/shared/logs-show.c | 1 +
68 src/shared/pager.c | 1 +
69 src/socket-proxy/socket-proxyd.c | 1 +
70 src/test/test-hexdecoct.c | 1 +
71 src/udev/udev-builtin-net_id.c | 1 +
72 src/udev/udev-builtin-path_id.c | 1 +
73 src/udev/udev-event.c | 1 +
74 src/udev/udev-rules.c | 1 +
75 51 files changed, 62 insertions(+)
76
77diff --git a/meson.build b/meson.build
78index 01fd3ffc19..61a872b753 100644
79--- a/meson.build
80+++ b/meson.build
81@@ -567,6 +567,7 @@ foreach ident : ['secure_getenv', '__secure_getenv']
82 endforeach
83
84 foreach ident : [
85+ ['strndupa' , '''#include <string.h>'''],
86 ['memfd_create', '''#include <sys/mman.h>'''],
87 ['gettid', '''#include <sys/types.h>
88 #include <unistd.h>'''],
89diff --git a/src/backlight/backlight.c b/src/backlight/backlight.c
90index 5ac9f904a9..99d5122dd7 100644
91--- a/src/backlight/backlight.c
92+++ b/src/backlight/backlight.c
93@@ -20,6 +20,7 @@
94 #include "string-util.h"
95 #include "strv.h"
96 #include "terminal-util.h"
97+#include "missing_stdlib.h"
98
99 #define PCI_CLASS_GRAPHICS_CARD 0x30000
100
101diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c
102index 18b16ecc0e..d2be79622f 100644
103--- a/src/basic/cgroup-util.c
104+++ b/src/basic/cgroup-util.c
105@@ -38,6 +38,7 @@
106 #include "unit-name.h"
107 #include "user-util.h"
108 #include "xattr-util.h"
109+#include "missing_stdlib.h"
110
111 static int cg_enumerate_items(const char *controller, const char *path, FILE **ret, const char *item) {
112 _cleanup_free_ char *fs = NULL;
113diff --git a/src/basic/env-util.c b/src/basic/env-util.c
114index d3bf73385f..16b17358ca 100644
115--- a/src/basic/env-util.c
116+++ b/src/basic/env-util.c
117@@ -19,6 +19,7 @@
118 #include "string-util.h"
119 #include "strv.h"
120 #include "utf8.h"
121+#include "missing_stdlib.h"
122
123 /* We follow bash for the character set. Different shells have different rules. */
124 #define VALID_BASH_ENV_NAME_CHARS \
125diff --git a/src/basic/log.c b/src/basic/log.c
126index 1470611a75..9924ec2b9a 100644
127--- a/src/basic/log.c
128+++ b/src/basic/log.c
129@@ -40,6 +40,7 @@
130 #include "terminal-util.h"
131 #include "time-util.h"
132 #include "utf8.h"
133+#include "missing_stdlib.h"
134
135 #define SNDBUF_SIZE (8*1024*1024)
136 #define IOVEC_MAX 256U
137diff --git a/src/basic/missing_stdlib.h b/src/basic/missing_stdlib.h
138index 8c76f93eb2..9068bfb4f0 100644
139--- a/src/basic/missing_stdlib.h
140+++ b/src/basic/missing_stdlib.h
141@@ -11,3 +11,15 @@
142 # error "neither secure_getenv nor __secure_getenv are available"
143 # endif
144 #endif
145+
146+/* string.h */
147+#if ! HAVE_STRNDUPA
148+#define strndupa(s, n) \
149+ ({ \
150+ const char *__old = (s); \
151+ size_t __len = strnlen(__old, (n)); \
152+ char *__new = (char *)alloca(__len + 1); \
153+ __new[__len] = '\0'; \
154+ (char *)memcpy(__new, __old, __len); \
155+ })
156+#endif
157diff --git a/src/basic/mkdir.c b/src/basic/mkdir.c
158index c770e5ed32..1fd8816cd0 100644
159--- a/src/basic/mkdir.c
160+++ b/src/basic/mkdir.c
161@@ -16,6 +16,7 @@
162 #include "stat-util.h"
163 #include "stdio-util.h"
164 #include "user-util.h"
165+#include "missing_stdlib.h"
166
167 int mkdirat_safe_internal(
168 int dir_fd,
169diff --git a/src/basic/mountpoint-util.c b/src/basic/mountpoint-util.c
170index bf67f7e01a..409f8d8a73 100644
171--- a/src/basic/mountpoint-util.c
172+++ b/src/basic/mountpoint-util.c
173@@ -18,6 +18,7 @@
174 #include "missing_stat.h"
175 #include "missing_syscall.h"
176 #include "mkdir.h"
177+#include "missing_stdlib.h"
178 #include "mountpoint-util.h"
179 #include "nulstr-util.h"
180 #include "parse-util.h"
181diff --git a/src/basic/parse-util.c b/src/basic/parse-util.c
182index 0430e33e40..f3728de026 100644
183--- a/src/basic/parse-util.c
184+++ b/src/basic/parse-util.c
185@@ -18,6 +18,7 @@
186 #include "stat-util.h"
187 #include "string-util.h"
188 #include "strv.h"
189+#include "missing_stdlib.h"
190
191 int parse_boolean(const char *v) {
192 if (!v)
193diff --git a/src/basic/path-lookup.c b/src/basic/path-lookup.c
194index 4e3d59fc56..726e240df0 100644
195--- a/src/basic/path-lookup.c
196+++ b/src/basic/path-lookup.c
197@@ -16,6 +16,7 @@
198 #include "strv.h"
199 #include "tmpfile-util.h"
200 #include "user-util.h"
201+#include "missing_stdlib.h"
202
203 int xdg_user_runtime_dir(char **ret, const char *suffix) {
204 const char *e;
205diff --git a/src/basic/percent-util.c b/src/basic/percent-util.c
206index cab9d0eaea..5f6ca258e9 100644
207--- a/src/basic/percent-util.c
208+++ b/src/basic/percent-util.c
209@@ -3,6 +3,7 @@
210 #include "percent-util.h"
211 #include "string-util.h"
212 #include "parse-util.h"
213+#include "missing_stdlib.h"
214
215 static int parse_parts_value_whole(const char *p, const char *symbol) {
216 const char *pc, *n;
217diff --git a/src/basic/proc-cmdline.c b/src/basic/proc-cmdline.c
218index 522d8de1f4..7c129dc0fc 100644
219--- a/src/basic/proc-cmdline.c
220+++ b/src/basic/proc-cmdline.c
221@@ -16,6 +16,7 @@
222 #include "string-util.h"
223 #include "strv.h"
224 #include "virt.h"
225+#include "missing_stdlib.h"
226
227 int proc_cmdline_filter_pid1_args(char **argv, char ***ret) {
228 enum {
229diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c
230index d7cfcd9105..6cb0ddf575 100644
231--- a/src/basic/procfs-util.c
232+++ b/src/basic/procfs-util.c
233@@ -12,6 +12,7 @@
234 #include "procfs-util.h"
235 #include "stdio-util.h"
236 #include "string-util.h"
237+#include "missing_stdlib.h"
238
239 int procfs_get_pid_max(uint64_t *ret) {
240 _cleanup_free_ char *value = NULL;
241diff --git a/src/basic/time-util.c b/src/basic/time-util.c
242index f9014dc560..1d7840a5b5 100644
243--- a/src/basic/time-util.c
244+++ b/src/basic/time-util.c
245@@ -27,6 +27,7 @@
246 #include "string-util.h"
247 #include "strv.h"
248 #include "time-util.h"
249+#include "missing_stdlib.h"
250
251 static clockid_t map_clock_id(clockid_t c) {
252
253diff --git a/src/boot/bless-boot.c b/src/boot/bless-boot.c
254index 0c0b4f23c7..68fe5ca509 100644
255--- a/src/boot/bless-boot.c
256+++ b/src/boot/bless-boot.c
257@@ -22,6 +22,7 @@
258 #include "terminal-util.h"
259 #include "verbs.h"
260 #include "virt.h"
261+#include "missing_stdlib.h"
262
263 static char **arg_path = NULL;
264
265diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c
266index 4237e694c0..05f9d9d9a9 100644
267--- a/src/core/dbus-cgroup.c
268+++ b/src/core/dbus-cgroup.c
269@@ -25,6 +25,7 @@
270 #include "parse-util.h"
271 #include "path-util.h"
272 #include "percent-util.h"
273+#include "missing_stdlib.h"
274 #include "socket-util.h"
275
276 BUS_DEFINE_PROPERTY_GET(bus_property_get_tasks_max, "t", CGroupTasksMax, cgroup_tasks_max_resolve);
277diff --git a/src/core/dbus-execute.c b/src/core/dbus-execute.c
278index 4daa1cefd3..2c77901471 100644
279--- a/src/core/dbus-execute.c
280+++ b/src/core/dbus-execute.c
281@@ -42,6 +42,7 @@
282 #include "unit-printf.h"
283 #include "user-util.h"
284 #include "utf8.h"
285+#include "missing_stdlib.h"
286
287 BUS_DEFINE_PROPERTY_GET_ENUM(bus_property_get_exec_output, exec_output, ExecOutput);
288 static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_exec_input, exec_input, ExecInput);
289diff --git a/src/core/dbus-util.c b/src/core/dbus-util.c
290index d680a64268..e59f48103e 100644
291--- a/src/core/dbus-util.c
292+++ b/src/core/dbus-util.c
293@@ -9,6 +9,7 @@
294 #include "unit-printf.h"
295 #include "user-util.h"
296 #include "unit.h"
297+#include "missing_stdlib.h"
298
299 int bus_property_get_triggered_unit(
300 sd_bus *bus,
301diff --git a/src/core/execute.c b/src/core/execute.c
302index ef0bf88687..bd3da0c401 100644
303--- a/src/core/execute.c
304+++ b/src/core/execute.c
305@@ -72,6 +72,7 @@
306 #include "unit-serialize.h"
307 #include "user-util.h"
308 #include "utmp-wtmp.h"
309+#include "missing_stdlib.h"
310
311 static bool is_terminal_input(ExecInput i) {
312 return IN_SET(i,
313diff --git a/src/core/kmod-setup.c b/src/core/kmod-setup.c
314index b8e3f7aadd..8ce8ca68d8 100644
315--- a/src/core/kmod-setup.c
316+++ b/src/core/kmod-setup.c
317@@ -13,6 +13,7 @@
318 #include "string-util.h"
319 #include "strv.h"
320 #include "virt.h"
321+#include "missing_stdlib.h"
322
323 #if HAVE_KMOD
324 #include "module-util.h"
325diff --git a/src/core/service.c b/src/core/service.c
326index b9eb40c555..268fe7573b 100644
327--- a/src/core/service.c
328+++ b/src/core/service.c
329@@ -45,6 +45,7 @@
330 #include "unit-name.h"
331 #include "unit.h"
332 #include "utf8.h"
333+#include "missing_stdlib.h"
334
335 #define service_spawn(...) service_spawn_internal(__func__, __VA_ARGS__)
336
337diff --git a/src/coredump/coredump-vacuum.c b/src/coredump/coredump-vacuum.c
338index 7e0c98cb7d..978a7f5874 100644
339--- a/src/coredump/coredump-vacuum.c
340+++ b/src/coredump/coredump-vacuum.c
341@@ -17,6 +17,7 @@
342 #include "string-util.h"
343 #include "time-util.h"
344 #include "user-util.h"
345+#include "missing_stdlib.h"
346
347 #define DEFAULT_MAX_USE_LOWER (uint64_t) (1ULL*1024ULL*1024ULL) /* 1 MiB */
348 #define DEFAULT_MAX_USE_UPPER (uint64_t) (4ULL*1024ULL*1024ULL*1024ULL) /* 4 GiB */
349diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c
350index 016f3baa7f..b1def81313 100644
351--- a/src/fstab-generator/fstab-generator.c
352+++ b/src/fstab-generator/fstab-generator.c
353@@ -37,6 +37,7 @@
354 #include "unit-name.h"
355 #include "virt.h"
356 #include "volatile-util.h"
357+#include "missing_stdlib.h"
358
359 typedef enum MountPointFlags {
360 MOUNT_NOAUTO = 1 << 0,
361diff --git a/src/journal-remote/journal-remote-main.c b/src/journal-remote/journal-remote-main.c
362index da0f20d3ce..f22ce41908 100644
363--- a/src/journal-remote/journal-remote-main.c
364+++ b/src/journal-remote/journal-remote-main.c
365@@ -27,6 +27,7 @@
366 #include "stat-util.h"
367 #include "string-table.h"
368 #include "strv.h"
369+#include "missing_stdlib.h"
370
371 #define PRIV_KEY_FILE CERTIFICATE_ROOT "/private/journal-remote.pem"
372 #define CERT_FILE CERTIFICATE_ROOT "/certs/journal-remote.pem"
373diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c
374index 7f3dcd56a4..41b7cbaaf1 100644
375--- a/src/journal/journalctl.c
376+++ b/src/journal/journalctl.c
377@@ -77,6 +77,7 @@
378 #include "unit-name.h"
379 #include "user-util.h"
380 #include "varlink.h"
381+#include "missing_stdlib.h"
382
383 #define DEFAULT_FSS_INTERVAL_USEC (15*USEC_PER_MINUTE)
384 #define PROCESS_INOTIFY_INTERVAL 1024 /* Every 1,024 messages processed */
385diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c
386index ff0228081f..9066fcb133 100644
387--- a/src/libsystemd/sd-bus/bus-message.c
388+++ b/src/libsystemd/sd-bus/bus-message.c
389@@ -19,6 +19,7 @@
390 #include "strv.h"
391 #include "time-util.h"
392 #include "utf8.h"
393+#include "missing_stdlib.h"
394
395 static int message_append_basic(sd_bus_message *m, char type, const void *p, const void **stored);
396 static int message_parse_fields(sd_bus_message *m);
397diff --git a/src/libsystemd/sd-bus/bus-objects.c b/src/libsystemd/sd-bus/bus-objects.c
398index c25c40ff37..57a5da704f 100644
399--- a/src/libsystemd/sd-bus/bus-objects.c
400+++ b/src/libsystemd/sd-bus/bus-objects.c
401@@ -11,6 +11,7 @@
402 #include "missing_capability.h"
403 #include "string-util.h"
404 #include "strv.h"
405+#include "missing_stdlib.h"
406
407 static int node_vtable_get_userdata(
408 sd_bus *bus,
409diff --git a/src/libsystemd/sd-bus/bus-socket.c b/src/libsystemd/sd-bus/bus-socket.c
410index 3c59d0d615..746922d46f 100644
411--- a/src/libsystemd/sd-bus/bus-socket.c
412+++ b/src/libsystemd/sd-bus/bus-socket.c
413@@ -29,6 +29,7 @@
414 #include "string-util.h"
415 #include "user-util.h"
416 #include "utf8.h"
417+#include "missing_stdlib.h"
418
419 #define SNDBUF_SIZE (8*1024*1024)
420
421diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystemd/sd-bus/sd-bus.c
422index 4a0259f8bb..aaa90d2223 100644
423--- a/src/libsystemd/sd-bus/sd-bus.c
424+++ b/src/libsystemd/sd-bus/sd-bus.c
425@@ -46,6 +46,7 @@
426 #include "string-util.h"
427 #include "strv.h"
428 #include "user-util.h"
429+#include "missing_stdlib.h"
430
431 #define log_debug_bus_message(m) \
432 do { \
433diff --git a/src/libsystemd/sd-bus/test-bus-benchmark.c b/src/libsystemd/sd-bus/test-bus-benchmark.c
434index d988588de0..458df8df9a 100644
435--- a/src/libsystemd/sd-bus/test-bus-benchmark.c
436+++ b/src/libsystemd/sd-bus/test-bus-benchmark.c
437@@ -14,6 +14,7 @@
438 #include "string-util.h"
439 #include "tests.h"
440 #include "time-util.h"
441+#include "missing_stdlib.h"
442
443 #define MAX_SIZE (2*1024*1024)
444
445diff --git a/src/libsystemd/sd-journal/sd-journal.c b/src/libsystemd/sd-journal/sd-journal.c
446index 6b9ff0a4ed..4a5027ad0f 100644
447--- a/src/libsystemd/sd-journal/sd-journal.c
448+++ b/src/libsystemd/sd-journal/sd-journal.c
449@@ -44,6 +44,7 @@
450 #include "strv.h"
451 #include "syslog-util.h"
452 #include "uid-alloc-range.h"
453+#include "missing_stdlib.h"
454
455 #define JOURNAL_FILES_RECHECK_USEC (2 * USEC_PER_SEC)
456
457diff --git a/src/login/pam_systemd.c b/src/login/pam_systemd.c
458index b8da266e27..4bb8dd9496 100644
459--- a/src/login/pam_systemd.c
460+++ b/src/login/pam_systemd.c
461@@ -35,6 +35,7 @@
462 #include "login-util.h"
463 #include "macro.h"
464 #include "missing_syscall.h"
465+#include "missing_stdlib.h"
466 #include "pam-util.h"
467 #include "parse-util.h"
468 #include "path-util.h"
469diff --git a/src/network/generator/network-generator.c b/src/network/generator/network-generator.c
470index 48527a2c73..9777fe0561 100644
471--- a/src/network/generator/network-generator.c
472+++ b/src/network/generator/network-generator.c
473@@ -14,6 +14,7 @@
474 #include "string-table.h"
475 #include "string-util.h"
476 #include "strv.h"
477+#include "missing_stdlib.h"
478
479 /*
480 # .network
481diff --git a/src/nspawn/nspawn-settings.c b/src/nspawn/nspawn-settings.c
482index 161b1c1c70..ba1c459f78 100644
483--- a/src/nspawn/nspawn-settings.c
484+++ b/src/nspawn/nspawn-settings.c
485@@ -16,6 +16,7 @@
486 #include "string-util.h"
487 #include "strv.h"
488 #include "user-util.h"
489+#include "missing_stdlib.h"
490
491 Settings *settings_new(void) {
492 Settings *s;
493diff --git a/src/nss-mymachines/nss-mymachines.c b/src/nss-mymachines/nss-mymachines.c
494index c64e79bdff..eda26b0b9a 100644
495--- a/src/nss-mymachines/nss-mymachines.c
496+++ b/src/nss-mymachines/nss-mymachines.c
497@@ -21,6 +21,7 @@
498 #include "nss-util.h"
499 #include "signal-util.h"
500 #include "string-util.h"
501+#include "missing_stdlib.h"
502
503 static void setup_logging_once(void) {
504 static pthread_once_t once = PTHREAD_ONCE_INIT;
505diff --git a/src/portable/portable.c b/src/portable/portable.c
506index d4b448a627..bb26623565 100644
507--- a/src/portable/portable.c
508+++ b/src/portable/portable.c
509@@ -40,6 +40,7 @@
510 #include "strv.h"
511 #include "tmpfile-util.h"
512 #include "user-util.h"
513+#include "missing_stdlib.h"
514
515 /* Markers used in the first line of our 20-portable.conf unit file drop-in to determine, that a) the unit file was
516 * dropped there by the portable service logic and b) for which image it was dropped there. */
517diff --git a/src/resolve/resolvectl.c b/src/resolve/resolvectl.c
518index afa537f160..32ccee4ae5 100644
519--- a/src/resolve/resolvectl.c
520+++ b/src/resolve/resolvectl.c
521@@ -48,6 +48,7 @@
522 #include "varlink.h"
523 #include "verb-log-control.h"
524 #include "verbs.h"
525+#include "missing_stdlib.h"
526
527 static int arg_family = AF_UNSPEC;
528 static int arg_ifindex = 0;
529diff --git a/src/shared/bus-get-properties.c b/src/shared/bus-get-properties.c
530index 53e5d6b99f..851ecd5644 100644
531--- a/src/shared/bus-get-properties.c
532+++ b/src/shared/bus-get-properties.c
533@@ -4,6 +4,7 @@
534 #include "rlimit-util.h"
535 #include "stdio-util.h"
536 #include "string-util.h"
537+#include "missing_stdlib.h"
538
539 int bus_property_get_bool(
540 sd_bus *bus,
541diff --git a/src/shared/bus-unit-procs.c b/src/shared/bus-unit-procs.c
542index 8b462b5627..183ce1c18e 100644
543--- a/src/shared/bus-unit-procs.c
544+++ b/src/shared/bus-unit-procs.c
545@@ -11,6 +11,7 @@
546 #include "sort-util.h"
547 #include "string-util.h"
548 #include "terminal-util.h"
549+#include "missing_stdlib.h"
550
551 struct CGroupInfo {
552 char *cgroup_path;
553diff --git a/src/shared/bus-unit-util.c b/src/shared/bus-unit-util.c
554index 4ee9706847..30c8084847 100644
555--- a/src/shared/bus-unit-util.c
556+++ b/src/shared/bus-unit-util.c
557@@ -50,6 +50,7 @@
558 #include "unit-def.h"
559 #include "user-util.h"
560 #include "utf8.h"
561+#include "missing_stdlib.h"
562
563 int bus_parse_unit_info(sd_bus_message *message, UnitInfo *u) {
564 assert(message);
565diff --git a/src/shared/bus-util.c b/src/shared/bus-util.c
566index 4123152d93..74f148c8b4 100644
567--- a/src/shared/bus-util.c
568+++ b/src/shared/bus-util.c
569@@ -24,6 +24,7 @@
570 #include "path-util.h"
571 #include "socket-util.h"
572 #include "stdio-util.h"
573+#include "missing_stdlib.h"
574
575 static int name_owner_change_callback(sd_bus_message *m, void *userdata, sd_bus_error *ret_error) {
576 sd_event *e = ASSERT_PTR(userdata);
577diff --git a/src/shared/dns-domain.c b/src/shared/dns-domain.c
578index b41c9b06ca..e69050a507 100644
579--- a/src/shared/dns-domain.c
580+++ b/src/shared/dns-domain.c
581@@ -18,6 +18,7 @@
582 #include "string-util.h"
583 #include "strv.h"
584 #include "utf8.h"
585+#include "missing_stdlib.h"
586
587 int dns_label_unescape(const char **name, char *dest, size_t sz, DNSLabelFlags flags) {
588 const char *n;
589diff --git a/src/shared/journal-importer.c b/src/shared/journal-importer.c
590index 83e9834bbf..74eaae6f5e 100644
591--- a/src/shared/journal-importer.c
592+++ b/src/shared/journal-importer.c
593@@ -16,6 +16,7 @@
594 #include "string-util.h"
595 #include "strv.h"
596 #include "unaligned.h"
597+#include "missing_stdlib.h"
598
599 enum {
600 IMPORTER_STATE_LINE = 0, /* waiting to read, or reading line */
601diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c
602index a5d04003bd..10392c132d 100644
603--- a/src/shared/logs-show.c
604+++ b/src/shared/logs-show.c
605@@ -41,6 +41,7 @@
606 #include "time-util.h"
607 #include "utf8.h"
608 #include "web-util.h"
609+#include "missing_stdlib.h"
610
611 /* up to three lines (each up to 100 characters) or 300 characters, whichever is less */
612 #define PRINT_LINE_THRESHOLD 3
613diff --git a/src/shared/pager.c b/src/shared/pager.c
614index 19deefab56..6b6d0af1a0 100644
615--- a/src/shared/pager.c
616+++ b/src/shared/pager.c
617@@ -25,6 +25,7 @@
618 #include "string-util.h"
619 #include "strv.h"
620 #include "terminal-util.h"
621+#include "missing_stdlib.h"
622
623 static pid_t pager_pid = 0;
624
625diff --git a/src/socket-proxy/socket-proxyd.c b/src/socket-proxy/socket-proxyd.c
626index 287fd6c181..8f8d5493da 100644
627--- a/src/socket-proxy/socket-proxyd.c
628+++ b/src/socket-proxy/socket-proxyd.c
629@@ -27,6 +27,7 @@
630 #include "set.h"
631 #include "socket-util.h"
632 #include "string-util.h"
633+#include "missing_stdlib.h"
634
635 #define BUFFER_SIZE (256 * 1024)
636
637diff --git a/src/test/test-hexdecoct.c b/src/test/test-hexdecoct.c
638index f884008660..987e180697 100644
639--- a/src/test/test-hexdecoct.c
640+++ b/src/test/test-hexdecoct.c
641@@ -7,6 +7,7 @@
642 #include "macro.h"
643 #include "random-util.h"
644 #include "string-util.h"
645+#include "missing_stdlib.h"
646 #include "tests.h"
647
648 TEST(hexchar) {
649diff --git a/src/udev/udev-builtin-net_id.c b/src/udev/udev-builtin-net_id.c
650index 91b40088f4..f528a46b8e 100644
651--- a/src/udev/udev-builtin-net_id.c
652+++ b/src/udev/udev-builtin-net_id.c
653@@ -39,6 +39,7 @@
654 #include "strv.h"
655 #include "strxcpyx.h"
656 #include "udev-builtin.h"
657+#include "missing_stdlib.h"
658
659 #define ONBOARD_14BIT_INDEX_MAX ((1U << 14) - 1)
660 #define ONBOARD_16BIT_INDEX_MAX ((1U << 16) - 1)
661diff --git a/src/udev/udev-builtin-path_id.c b/src/udev/udev-builtin-path_id.c
662index 467c9a6ad3..f74dae60af 100644
663--- a/src/udev/udev-builtin-path_id.c
664+++ b/src/udev/udev-builtin-path_id.c
665@@ -24,6 +24,7 @@
666 #include "sysexits.h"
667 #include "udev-builtin.h"
668 #include "udev-util.h"
669+#include "missing_stdlib.h"
670
671 _printf_(2,3)
672 static void path_prepend(char **path, const char *fmt, ...) {
673diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c
674index ed22c8b679..19ebe20237 100644
675--- a/src/udev/udev-event.c
676+++ b/src/udev/udev-event.c
677@@ -16,6 +16,7 @@
678 #include "udev-util.h"
679 #include "udev-watch.h"
680 #include "user-util.h"
681+#include "missing_stdlib.h"
682
683 UdevEvent *udev_event_new(sd_device *dev, usec_t exec_delay_usec, sd_netlink *rtnl, int log_level) {
684 UdevEvent *event;
685diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c
686index 5f12002394..febe345b4c 100644
687--- a/src/udev/udev-rules.c
688+++ b/src/udev/udev-rules.c
689@@ -41,6 +41,7 @@
690 #include "udev-util.h"
691 #include "user-util.h"
692 #include "virt.h"
693+#include "missing_stdlib.h"
694
695 #define RULES_DIRS ((const char* const*) CONF_PATHS_STRV("udev/rules.d"))
696
697--
6982.34.1
699