From 7ddb3ead851e4c1269801f9cb25e758ba1beec9b Mon Sep 17 00:00:00 2001 From: Luca Boccassi Date: Wed, 1 Jul 2026 16:45:34 +0100 Subject: [PATCH] core: avoid using uninitialized buffer on bad systemd.random_seed= unbase64mem() leaves p/sz uninitialized on failure, and the deserialization doesn't bail out in that case, unlike other cases. Follow-up for d247f232a8fd68f91769274f196566a6e9e75d15 --- src/core/main.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/core/main.c b/src/core/main.c index 3009262648..f8a7bd0760 100644 --- a/src/core/main.c +++ b/src/core/main.c @@ -543,8 +543,10 @@ static int parse_proc_cmdline_item(const char *key, const char *value, void *dat return 0; r = unbase64mem(value, &p, &sz); - if (r < 0) + if (r < 0) { log_warning_errno(r, "Failed to parse systemd.random_seed= argument, ignoring: %s", value); + return 0; + } free(arg_random_seed); arg_random_seed = sz > 0 ? p : mfree(p);