blob: 36545c2f60c0c7dfe6c7e6988a838088253642c3 [file] [log] [blame]
Andrew Geissler595f6302022-01-24 19:11:47 +00001From cef23a651ea200e30e1e6ed2a2564505e3a42d46 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
Brad Bishop19323692019-04-05 15:28:33 -040075--- a/meson.build
76+++ b/meson.build
Andrew Geissler7e0e3c02022-02-25 20:34:39 +000077@@ -507,6 +507,7 @@ foreach ident : ['secure_getenv', '__sec
Patrick Williams213cb262021-08-07 19:21:33 -050078 endforeach
Andrew Geisslerd159c7f2021-09-02 21:05:58 -050079
Patrick Williams213cb262021-08-07 19:21:33 -050080 foreach ident : [
Brad Bishop19323692019-04-05 15:28:33 -040081+ ['strndupa' , '''#include <string.h>'''],
Patrick Williams213cb262021-08-07 19:21:33 -050082 ['memfd_create', '''#include <sys/mman.h>'''],
83 ['gettid', '''#include <sys/types.h>
84 #include <unistd.h>'''],
Brad Bishopc342db32019-05-15 21:57:59 -040085--- a/src/backlight/backlight.c
86+++ b/src/backlight/backlight.c
Andrew Geisslerd1e89492021-02-12 15:35:20 -060087@@ -19,6 +19,7 @@
Brad Bishopc342db32019-05-15 21:57:59 -040088 #include "string-util.h"
89 #include "strv.h"
90 #include "util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -050091+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -050092
Andrew Geisslerd1e89492021-02-12 15:35:20 -060093 static int help(void) {
94 _cleanup_free_ char *link = NULL;
Andrew Geissler82c905d2020-04-13 13:39:40 -050095--- a/src/basic/cgroup-util.c
96+++ b/src/basic/cgroup-util.c
Andrew Geissler7e0e3c02022-02-25 20:34:39 +000097@@ -37,6 +37,7 @@
Andrew Geissler82c905d2020-04-13 13:39:40 -050098 #include "unit-name.h"
99 #include "user-util.h"
Andrew Geissler635e0e42020-08-21 15:58:33 -0500100 #include "xattr-util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500101+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500102
Andrew Geissler82c905d2020-04-13 13:39:40 -0500103 static int cg_enumerate_items(const char *controller, const char *path, FILE **_f, const char *item) {
104 _cleanup_free_ char *fs = NULL;
Brad Bishopc342db32019-05-15 21:57:59 -0400105--- a/src/basic/env-util.c
106+++ b/src/basic/env-util.c
Andrew Geissler7e0e3c02022-02-25 20:34:39 +0000107@@ -19,6 +19,7 @@
Brad Bishopc342db32019-05-15 21:57:59 -0400108 #include "string-util.h"
109 #include "strv.h"
110 #include "utf8.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500111+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500112
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600113 /* We follow bash for the character set. Different shells have different rules. */
114 #define VALID_BASH_ENV_NAME_CHARS \
Andrew Geissler82c905d2020-04-13 13:39:40 -0500115--- a/src/basic/log.c
116+++ b/src/basic/log.c
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600117@@ -36,6 +36,7 @@
Andrew Geissler82c905d2020-04-13 13:39:40 -0500118 #include "terminal-util.h"
119 #include "time-util.h"
120 #include "utf8.h"
121+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500122
Andrew Geissler82c905d2020-04-13 13:39:40 -0500123 #define SNDBUF_SIZE (8*1024*1024)
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500124
Brad Bishop19323692019-04-05 15:28:33 -0400125--- a/src/basic/missing_stdlib.h
126+++ b/src/basic/missing_stdlib.h
127@@ -11,3 +11,15 @@
Brad Bishopc68388fc2019-08-26 01:33:31 -0400128 # error "neither secure_getenv nor __secure_getenv are available"
Brad Bishop19323692019-04-05 15:28:33 -0400129 # endif
130 #endif
131+
132+/* string.h */
133+#if ! HAVE_STRNDUPA
134+#define strndupa(s, n) \
135+ ({ \
136+ const char *__old = (s); \
137+ size_t __len = strnlen(__old, (n)); \
138+ char *__new = (char *)alloca(__len + 1); \
139+ __new[__len] = '\0'; \
140+ (char *)memcpy(__new, __old, __len); \
141+ })
142+#endif
Brad Bishop19323692019-04-05 15:28:33 -0400143--- a/src/basic/mkdir.c
144+++ b/src/basic/mkdir.c
Andrew Geissler7e0e3c02022-02-25 20:34:39 +0000145@@ -15,6 +15,7 @@
Brad Bishop19323692019-04-05 15:28:33 -0400146 #include "stat-util.h"
147 #include "stdio-util.h"
148 #include "user-util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500149+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500150
Andrew Geissler635e0e42020-08-21 15:58:33 -0500151 int mkdir_safe_internal(
152 const char *path,
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700153--- a/src/basic/mountpoint-util.c
154+++ b/src/basic/mountpoint-util.c
Andrew Geissler7e0e3c02022-02-25 20:34:39 +0000155@@ -13,6 +13,7 @@
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700156 #include "missing_stat.h"
157 #include "missing_syscall.h"
158 #include "mkdir.h"
159+#include "missing_stdlib.h"
160 #include "mountpoint-util.h"
Andrew Geissler7e0e3c02022-02-25 20:34:39 +0000161 #include "nulstr-util.h"
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700162 #include "parse-util.h"
Brad Bishop19323692019-04-05 15:28:33 -0400163--- a/src/basic/parse-util.c
164+++ b/src/basic/parse-util.c
Andrew Geissler7e0e3c02022-02-25 20:34:39 +0000165@@ -18,6 +18,7 @@
Brad Bishop19323692019-04-05 15:28:33 -0400166 #include "stat-util.h"
167 #include "string-util.h"
Andrew Geissler635e0e42020-08-21 15:58:33 -0500168 #include "strv.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500169+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500170
Brad Bishop19323692019-04-05 15:28:33 -0400171 int parse_boolean(const char *v) {
172 if (!v)
Andrew Geissler635e0e42020-08-21 15:58:33 -0500173--- a/src/basic/path-lookup.c
174+++ b/src/basic/path-lookup.c
Andrew Geissler7e0e3c02022-02-25 20:34:39 +0000175@@ -16,6 +16,7 @@
Andrew Geissler635e0e42020-08-21 15:58:33 -0500176 #include "strv.h"
177 #include "tmpfile-util.h"
178 #include "user-util.h"
179+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500180
Andrew Geissler635e0e42020-08-21 15:58:33 -0500181 int xdg_user_runtime_dir(char **ret, const char *suffix) {
182 const char *e;
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500183--- a/src/basic/percent-util.c
184+++ b/src/basic/percent-util.c
185@@ -3,6 +3,7 @@
186 #include "percent-util.h"
187 #include "string-util.h"
188 #include "parse-util.h"
189+#include "missing_stdlib.h"
190
191 static int parse_parts_value_whole(const char *p, const char *symbol) {
192 const char *pc, *n;
Brad Bishopc342db32019-05-15 21:57:59 -0400193--- a/src/basic/proc-cmdline.c
194+++ b/src/basic/proc-cmdline.c
195@@ -15,6 +15,7 @@
196 #include "string-util.h"
197 #include "util.h"
198 #include "virt.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500199+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500200
Brad Bishopc342db32019-05-15 21:57:59 -0400201 int proc_cmdline(char **ret) {
202 const char *e;
Brad Bishop19323692019-04-05 15:28:33 -0400203--- a/src/basic/procfs-util.c
204+++ b/src/basic/procfs-util.c
Andrew Geissler7e0e3c02022-02-25 20:34:39 +0000205@@ -12,6 +12,7 @@
Brad Bishop19323692019-04-05 15:28:33 -0400206 #include "procfs-util.h"
207 #include "stdio-util.h"
208 #include "string-util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500209+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500210
Andrew Geissler7e0e3c02022-02-25 20:34:39 +0000211 int procfs_get_pid_max(uint64_t *ret) {
Brad Bishop19323692019-04-05 15:28:33 -0400212 _cleanup_free_ char *value = NULL;
Brad Bishopc342db32019-05-15 21:57:59 -0400213--- a/src/basic/time-util.c
214+++ b/src/basic/time-util.c
Patrick Williams213cb262021-08-07 19:21:33 -0500215@@ -26,6 +26,7 @@
Brad Bishop19323692019-04-05 15:28:33 -0400216 #include "string-util.h"
217 #include "strv.h"
Brad Bishopc342db32019-05-15 21:57:59 -0400218 #include "time-util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500219+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500220
Brad Bishopc342db32019-05-15 21:57:59 -0400221 static clockid_t map_clock_id(clockid_t c) {
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500222
Andrew Geissler82c905d2020-04-13 13:39:40 -0500223--- a/src/boot/bless-boot.c
224+++ b/src/boot/bless-boot.c
Andrew Geissler7e0e3c02022-02-25 20:34:39 +0000225@@ -19,6 +19,7 @@
Andrew Geissler82c905d2020-04-13 13:39:40 -0500226 #include "util.h"
227 #include "verbs.h"
228 #include "virt.h"
229+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500230
Andrew Geissler82c905d2020-04-13 13:39:40 -0500231 static char **arg_path = NULL;
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500232
Andrew Geissler82c905d2020-04-13 13:39:40 -0500233--- a/src/core/dbus-execute.c
234+++ b/src/core/dbus-execute.c
Andrew Geissler7e0e3c02022-02-25 20:34:39 +0000235@@ -44,6 +44,7 @@
Andrew Geissler82c905d2020-04-13 13:39:40 -0500236 #include "unit-printf.h"
237 #include "user-util.h"
238 #include "utf8.h"
239+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500240
Andrew Geissler82c905d2020-04-13 13:39:40 -0500241 BUS_DEFINE_PROPERTY_GET_ENUM(bus_property_get_exec_output, exec_output, ExecOutput);
242 static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_exec_input, exec_input, ExecInput);
Brad Bishopc342db32019-05-15 21:57:59 -0400243--- a/src/core/dbus-util.c
244+++ b/src/core/dbus-util.c
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700245@@ -9,6 +9,7 @@
Brad Bishopc342db32019-05-15 21:57:59 -0400246 #include "unit-printf.h"
247 #include "user-util.h"
248 #include "unit.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500249+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500250
Brad Bishopc342db32019-05-15 21:57:59 -0400251 int bus_property_get_triggered_unit(
252 sd_bus *bus,
Andrew Geissler82c905d2020-04-13 13:39:40 -0500253--- a/src/core/execute.c
254+++ b/src/core/execute.c
Andrew Geissler7e0e3c02022-02-25 20:34:39 +0000255@@ -102,6 +102,7 @@
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700256 #include "unit-serialize.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500257 #include "user-util.h"
258 #include "utmp-wtmp.h"
259+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500260
Andrew Geissler82c905d2020-04-13 13:39:40 -0500261 #define IDLE_TIMEOUT_USEC (5*USEC_PER_SEC)
262 #define IDLE_TIMEOUT2_USEC (1*USEC_PER_SEC)
Brad Bishopc342db32019-05-15 21:57:59 -0400263--- a/src/core/kmod-setup.c
264+++ b/src/core/kmod-setup.c
265@@ -11,6 +11,7 @@
Andrew Geissler7e0e3c02022-02-25 20:34:39 +0000266 #include "recurse-dir.h"
Brad Bishopc342db32019-05-15 21:57:59 -0400267 #include "string-util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500268 #include "missing_type.h"
269+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500270
Brad Bishopc342db32019-05-15 21:57:59 -0400271 #if HAVE_KMOD
Andrew Geissler82c905d2020-04-13 13:39:40 -0500272 #include "module-util.h"
Brad Bishopc342db32019-05-15 21:57:59 -0400273--- a/src/core/service.c
274+++ b/src/core/service.c
Andrew Geissler7e0e3c02022-02-25 20:34:39 +0000275@@ -42,6 +42,7 @@
Brad Bishopc342db32019-05-15 21:57:59 -0400276 #include "unit.h"
277 #include "utf8.h"
278 #include "util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500279+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500280
Brad Bishopc342db32019-05-15 21:57:59 -0400281 static const UnitActiveState state_translation_table[_SERVICE_STATE_MAX] = {
282 [SERVICE_DEAD] = UNIT_INACTIVE,
Andrew Geissler82c905d2020-04-13 13:39:40 -0500283--- a/src/coredump/coredump-vacuum.c
284+++ b/src/coredump/coredump-vacuum.c
285@@ -16,6 +16,7 @@
286 #include "string-util.h"
287 #include "time-util.h"
288 #include "user-util.h"
289+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500290
Andrew Geissler82c905d2020-04-13 13:39:40 -0500291 #define DEFAULT_MAX_USE_LOWER (uint64_t) (1ULL*1024ULL*1024ULL) /* 1 MiB */
292 #define DEFAULT_MAX_USE_UPPER (uint64_t) (4ULL*1024ULL*1024ULL*1024ULL) /* 4 GiB */
Andrew Geissler82c905d2020-04-13 13:39:40 -0500293--- a/src/journal-remote/journal-remote-main.c
294+++ b/src/journal-remote/journal-remote-main.c
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700295@@ -24,6 +24,7 @@
Andrew Geissler82c905d2020-04-13 13:39:40 -0500296 #include "stat-util.h"
297 #include "string-table.h"
298 #include "strv.h"
299+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500300
Andrew Geissler82c905d2020-04-13 13:39:40 -0500301 #define PRIV_KEY_FILE CERTIFICATE_ROOT "/private/journal-remote.pem"
302 #define CERT_FILE CERTIFICATE_ROOT "/certs/journal-remote.pem"
Brad Bishopc342db32019-05-15 21:57:59 -0400303--- a/src/journal/journalctl.c
304+++ b/src/journal/journalctl.c
Andrew Geissler7e0e3c02022-02-25 20:34:39 +0000305@@ -73,6 +73,7 @@
Brad Bishopc342db32019-05-15 21:57:59 -0400306 #include "unit-name.h"
307 #include "user-util.h"
Brad Bishopa34c0302019-09-23 22:34:48 -0400308 #include "varlink.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500309+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500310
Brad Bishopc342db32019-05-15 21:57:59 -0400311 #define DEFAULT_FSS_INTERVAL_USEC (15*USEC_PER_MINUTE)
Andrew Geissler82c905d2020-04-13 13:39:40 -0500312 #define PROCESS_INOTIFY_INTERVAL 1024 /* Every 1,024 messages processed */
Brad Bishopc342db32019-05-15 21:57:59 -0400313--- a/src/libsystemd/sd-bus/bus-message.c
314+++ b/src/libsystemd/sd-bus/bus-message.c
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700315@@ -20,6 +20,7 @@
Brad Bishopc342db32019-05-15 21:57:59 -0400316 #include "strv.h"
317 #include "time-util.h"
318 #include "utf8.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500319+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500320
Brad Bishopc342db32019-05-15 21:57:59 -0400321 static int message_append_basic(sd_bus_message *m, char type, const void *p, const void **stored);
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500322
Brad Bishopc342db32019-05-15 21:57:59 -0400323--- a/src/libsystemd/sd-bus/bus-objects.c
324+++ b/src/libsystemd/sd-bus/bus-objects.c
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700325@@ -12,6 +12,7 @@
Brad Bishopc342db32019-05-15 21:57:59 -0400326 #include "set.h"
327 #include "string-util.h"
328 #include "strv.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500329+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500330
Brad Bishopc342db32019-05-15 21:57:59 -0400331 static int node_vtable_get_userdata(
332 sd_bus *bus,
Andrew Geissler82c905d2020-04-13 13:39:40 -0500333--- a/src/libsystemd/sd-bus/bus-socket.c
334+++ b/src/libsystemd/sd-bus/bus-socket.c
Andrew Geissler7e0e3c02022-02-25 20:34:39 +0000335@@ -28,6 +28,7 @@
Andrew Geissler82c905d2020-04-13 13:39:40 -0500336 #include "string-util.h"
337 #include "user-util.h"
338 #include "utf8.h"
339+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500340
Andrew Geissler82c905d2020-04-13 13:39:40 -0500341 #define SNDBUF_SIZE (8*1024*1024)
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500342
Andrew Geissler82c905d2020-04-13 13:39:40 -0500343--- a/src/libsystemd/sd-bus/sd-bus.c
344+++ b/src/libsystemd/sd-bus/sd-bus.c
Andrew Geissler7e0e3c02022-02-25 20:34:39 +0000345@@ -43,6 +43,7 @@
Andrew Geissler82c905d2020-04-13 13:39:40 -0500346 #include "string-util.h"
347 #include "strv.h"
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700348 #include "user-util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500349+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500350
Andrew Geissler82c905d2020-04-13 13:39:40 -0500351 #define log_debug_bus_message(m) \
352 do { \
Brad Bishopc342db32019-05-15 21:57:59 -0400353--- a/src/libsystemd/sd-bus/test-bus-benchmark.c
354+++ b/src/libsystemd/sd-bus/test-bus-benchmark.c
355@@ -14,6 +14,7 @@
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700356 #include "string-util.h"
Brad Bishopc342db32019-05-15 21:57:59 -0400357 #include "time-util.h"
358 #include "util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500359+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500360
Brad Bishopc342db32019-05-15 21:57:59 -0400361 #define MAX_SIZE (2*1024*1024)
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500362
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700363--- a/src/libsystemd/sd-journal/sd-journal.c
364+++ b/src/libsystemd/sd-journal/sd-journal.c
Andrew Geissler7e0e3c02022-02-25 20:34:39 +0000365@@ -41,6 +41,7 @@
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700366 #include "string-util.h"
367 #include "strv.h"
368 #include "syslog-util.h"
369+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500370
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700371 #define JOURNAL_FILES_MAX 7168
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500372
Brad Bishopc342db32019-05-15 21:57:59 -0400373--- a/src/locale/keymap-util.c
374+++ b/src/locale/keymap-util.c
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700375@@ -24,6 +24,7 @@
Brad Bishopc342db32019-05-15 21:57:59 -0400376 #include "string-util.h"
377 #include "strv.h"
378 #include "tmpfile-util.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 bool startswith_comma(const char *s, const char *prefix) {
382 s = startswith(s, prefix);
Brad Bishopa34c0302019-09-23 22:34:48 -0400383--- a/src/login/pam_systemd.c
384+++ b/src/login/pam_systemd.c
Andrew Geissler82c905d2020-04-13 13:39:40 -0500385@@ -31,6 +31,7 @@
386 #include "locale-util.h"
Brad Bishopa34c0302019-09-23 22:34:48 -0400387 #include "login-util.h"
388 #include "macro.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500389+#include "missing_stdlib.h"
390 #include "pam-util.h"
Brad Bishopa34c0302019-09-23 22:34:48 -0400391 #include "parse-util.h"
392 #include "path-util.h"
Brad Bishopa34c0302019-09-23 22:34:48 -0400393--- a/src/network/generator/network-generator.c
394+++ b/src/network/generator/network-generator.c
395@@ -13,6 +13,7 @@
396 #include "string-table.h"
397 #include "string-util.h"
398 #include "strv.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500399+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500400
Brad Bishopa34c0302019-09-23 22:34:48 -0400401 /*
402 # .network
Brad Bishopc342db32019-05-15 21:57:59 -0400403--- a/src/nspawn/nspawn-settings.c
404+++ b/src/nspawn/nspawn-settings.c
Patrick Williams213cb262021-08-07 19:21:33 -0500405@@ -17,6 +17,7 @@
Brad Bishopc342db32019-05-15 21:57:59 -0400406 #include "strv.h"
Brad Bishop19323692019-04-05 15:28:33 -0400407 #include "user-util.h"
408 #include "util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500409+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500410
Brad Bishopc342db32019-05-15 21:57:59 -0400411 Settings *settings_new(void) {
412 Settings *s;
Andrew Geissler82c905d2020-04-13 13:39:40 -0500413--- a/src/nss-mymachines/nss-mymachines.c
414+++ b/src/nss-mymachines/nss-mymachines.c
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700415@@ -21,6 +21,7 @@
Andrew Geissler635e0e42020-08-21 15:58:33 -0500416 #include "nss-util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500417 #include "signal-util.h"
418 #include "string-util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500419+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500420
Andrew Geissler7e0e3c02022-02-25 20:34:39 +0000421 static void setup_logging_once(void) {
422 static pthread_once_t once = PTHREAD_ONCE_INIT;
Andrew Geissler82c905d2020-04-13 13:39:40 -0500423--- a/src/portable/portable.c
424+++ b/src/portable/portable.c
Andrew Geissler7e0e3c02022-02-25 20:34:39 +0000425@@ -39,6 +39,7 @@
Andrew Geissler82c905d2020-04-13 13:39:40 -0500426 #include "strv.h"
427 #include "tmpfile-util.h"
428 #include "user-util.h"
429+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500430
Andrew Geissler7e0e3c02022-02-25 20:34:39 +0000431 /* Markers used in the first line of our 20-portable.conf unit file drop-in to determine, that a) the unit file was
432 * dropped there by the portable service logic and b) for which image it was dropped there. */
Andrew Geissler82c905d2020-04-13 13:39:40 -0500433--- a/src/resolve/resolvectl.c
434+++ b/src/resolve/resolvectl.c
Andrew Geissler7e0e3c02022-02-25 20:34:39 +0000435@@ -43,6 +43,7 @@
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600436 #include "utf8.h"
Andrew Geissler7e0e3c02022-02-25 20:34:39 +0000437 #include "verb-log-control.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500438 #include "verbs.h"
439+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500440
Andrew Geissler82c905d2020-04-13 13:39:40 -0500441 static int arg_family = AF_UNSPEC;
442 static int arg_ifindex = 0;
Andrew Geissler635e0e42020-08-21 15:58:33 -0500443--- a/src/shared/bus-get-properties.c
444+++ b/src/shared/bus-get-properties.c
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600445@@ -4,6 +4,7 @@
Andrew Geissler635e0e42020-08-21 15:58:33 -0500446 #include "rlimit-util.h"
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600447 #include "stdio-util.h"
Andrew Geissler635e0e42020-08-21 15:58:33 -0500448 #include "string-util.h"
449+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500450
Andrew Geissler635e0e42020-08-21 15:58:33 -0500451 int bus_property_get_bool(
452 sd_bus *bus,
Andrew Geissler82c905d2020-04-13 13:39:40 -0500453--- a/src/shared/bus-unit-procs.c
454+++ b/src/shared/bus-unit-procs.c
455@@ -10,6 +10,7 @@
456 #include "sort-util.h"
457 #include "string-util.h"
458 #include "terminal-util.h"
459+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500460
Andrew Geissler82c905d2020-04-13 13:39:40 -0500461 struct CGroupInfo {
462 char *cgroup_path;
Andrew Geissler82c905d2020-04-13 13:39:40 -0500463--- a/src/shared/bus-unit-util.c
464+++ b/src/shared/bus-unit-util.c
Andrew Geissler7e0e3c02022-02-25 20:34:39 +0000465@@ -49,6 +49,7 @@
Andrew Geissler82c905d2020-04-13 13:39:40 -0500466 #include "unit-def.h"
467 #include "user-util.h"
468 #include "utf8.h"
469+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500470
Andrew Geissler82c905d2020-04-13 13:39:40 -0500471 int bus_parse_unit_info(sd_bus_message *message, UnitInfo *u) {
472 assert(message);
Andrew Geissler82c905d2020-04-13 13:39:40 -0500473--- a/src/shared/bus-util.c
474+++ b/src/shared/bus-util.c
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600475@@ -21,6 +21,7 @@
476 #include "path-util.h"
Andrew Geissler635e0e42020-08-21 15:58:33 -0500477 #include "socket-util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500478 #include "stdio-util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500479+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500480
Andrew Geissler82c905d2020-04-13 13:39:40 -0500481 static int name_owner_change_callback(sd_bus_message *m, void *userdata, sd_bus_error *ret_error) {
482 sd_event *e = userdata;
Brad Bishopc342db32019-05-15 21:57:59 -0400483--- a/src/shared/dns-domain.c
484+++ b/src/shared/dns-domain.c
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600485@@ -17,6 +17,7 @@
Brad Bishopc342db32019-05-15 21:57:59 -0400486 #include "string-util.h"
487 #include "strv.h"
488 #include "utf8.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500489+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500490
Brad Bishopc342db32019-05-15 21:57:59 -0400491 int dns_label_unescape(const char **name, char *dest, size_t sz, DNSLabelFlags flags) {
492 const char *n;
Brad Bishopc342db32019-05-15 21:57:59 -0400493--- a/src/shared/journal-importer.c
494+++ b/src/shared/journal-importer.c
Patrick Williams213cb262021-08-07 19:21:33 -0500495@@ -15,6 +15,7 @@
Brad Bishopc342db32019-05-15 21:57:59 -0400496 #include "parse-util.h"
497 #include "string-util.h"
498 #include "unaligned.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500499+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500500
Brad Bishopc342db32019-05-15 21:57:59 -0400501 enum {
502 IMPORTER_STATE_LINE = 0, /* waiting to read, or reading line */
Brad Bishopc342db32019-05-15 21:57:59 -0400503--- a/src/shared/logs-show.c
504+++ b/src/shared/logs-show.c
Andrew Geissler7e0e3c02022-02-25 20:34:39 +0000505@@ -42,6 +42,7 @@
Brad Bishopc342db32019-05-15 21:57:59 -0400506 #include "utf8.h"
507 #include "util.h"
Andrew Geissler635e0e42020-08-21 15:58:33 -0500508 #include "web-util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500509+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500510
Brad Bishopc342db32019-05-15 21:57:59 -0400511 /* up to three lines (each up to 100 characters) or 300 characters, whichever is less */
512 #define PRINT_LINE_THRESHOLD 3
Brad Bishopc342db32019-05-15 21:57:59 -0400513--- a/src/shared/pager.c
514+++ b/src/shared/pager.c
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600515@@ -26,6 +26,7 @@
Brad Bishopc342db32019-05-15 21:57:59 -0400516 #include "strv.h"
517 #include "terminal-util.h"
518 #include "util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500519+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500520
Brad Bishopc342db32019-05-15 21:57:59 -0400521 static pid_t pager_pid = 0;
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500522
Brad Bishopc342db32019-05-15 21:57:59 -0400523--- a/src/shared/uid-range.c
524+++ b/src/shared/uid-range.c
525@@ -9,6 +9,7 @@
526 #include "sort-util.h"
527 #include "uid-range.h"
528 #include "user-util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500529+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500530
Brad Bishop19323692019-04-05 15:28:33 -0400531 static bool uid_range_intersect(UidRange *range, uid_t start, uid_t nr) {
532 assert(range);
Brad Bishopc342db32019-05-15 21:57:59 -0400533--- a/src/socket-proxy/socket-proxyd.c
534+++ b/src/socket-proxy/socket-proxyd.c
Andrew Geissler82c905d2020-04-13 13:39:40 -0500535@@ -26,6 +26,7 @@
Brad Bishopc342db32019-05-15 21:57:59 -0400536 #include "socket-util.h"
537 #include "string-util.h"
538 #include "util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500539+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500540
Brad Bishopc342db32019-05-15 21:57:59 -0400541 #define BUFFER_SIZE (256 * 1024)
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500542
Brad Bishopc342db32019-05-15 21:57:59 -0400543--- a/src/test/test-hexdecoct.c
544+++ b/src/test/test-hexdecoct.c
Andrew Geissler7e0e3c02022-02-25 20:34:39 +0000545@@ -7,6 +7,7 @@
Brad Bishopc342db32019-05-15 21:57:59 -0400546 #include "macro.h"
Andrew Geissler7e0e3c02022-02-25 20:34:39 +0000547 #include "random-util.h"
Brad Bishopc342db32019-05-15 21:57:59 -0400548 #include "string-util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500549+#include "missing_stdlib.h"
Andrew Geissler7e0e3c02022-02-25 20:34:39 +0000550 #include "tests.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500551
Andrew Geissler7e0e3c02022-02-25 20:34:39 +0000552 TEST(hexchar) {
Brad Bishopc342db32019-05-15 21:57:59 -0400553--- a/src/udev/udev-builtin-path_id.c
554+++ b/src/udev/udev-builtin-path_id.c
Andrew Geissler82c905d2020-04-13 13:39:40 -0500555@@ -22,6 +22,7 @@
Brad Bishopc342db32019-05-15 21:57:59 -0400556 #include "sysexits.h"
557 #include "udev-builtin.h"
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700558 #include "udev-util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500559+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500560
Brad Bishopc342db32019-05-15 21:57:59 -0400561 _printf_(2,3)
562 static void path_prepend(char **path, const char *fmt, ...) {
Brad Bishopa34c0302019-09-23 22:34:48 -0400563--- a/src/udev/udev-event.c
564+++ b/src/udev/udev-event.c
Andrew Geissler7e0e3c02022-02-25 20:34:39 +0000565@@ -35,6 +35,7 @@
Brad Bishopa34c0302019-09-23 22:34:48 -0400566 #include "udev-util.h"
567 #include "udev-watch.h"
Brad Bishopc342db32019-05-15 21:57:59 -0400568 #include "user-util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500569+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500570
Brad Bishopa34c0302019-09-23 22:34:48 -0400571 typedef struct Spawn {
572 sd_device *device;
Brad Bishopa34c0302019-09-23 22:34:48 -0400573--- a/src/udev/udev-rules.c
574+++ b/src/udev/udev-rules.c
Andrew Geissler7e0e3c02022-02-25 20:34:39 +0000575@@ -34,6 +34,7 @@
Patrick Williams213cb262021-08-07 19:21:33 -0500576 #include "udev-util.h"
Brad Bishopa34c0302019-09-23 22:34:48 -0400577 #include "user-util.h"
Andrew Geissler82c905d2020-04-13 13:39:40 -0500578 #include "virt.h"
579+#include "missing_stdlib.h"
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500580
Brad Bishopa34c0302019-09-23 22:34:48 -0400581 #define RULES_DIRS (const char* const*) CONF_PATHS_STRV("udev/rules.d")
Andrew Geisslerd159c7f2021-09-02 21:05:58 -0500582
Andrew Geissler7e0e3c02022-02-25 20:34:39 +0000583--- a/src/core/dbus-cgroup.c
584+++ b/src/core/dbus-cgroup.c
585@@ -21,6 +21,7 @@
586 #include "parse-util.h"
587 #include "path-util.h"
588 #include "percent-util.h"
589+#include "missing_stdlib.h"
590 #include "socket-util.h"
591
592 BUS_DEFINE_PROPERTY_GET(bus_property_get_tasks_max, "t", TasksMax, tasks_max_resolve);
593--- a/src/fstab-generator/fstab-generator.c
594+++ b/src/fstab-generator/fstab-generator.c
595@@ -29,6 +29,7 @@
596 #include "util.h"
597 #include "virt.h"
598 #include "volatile-util.h"
599+#include "missing_stdlib.h"
600
601 typedef enum MountPointFlags {
602 MOUNT_NOAUTO = 1 << 0,