From: Lennart Poettering Date: Mon, 16 Jun 2025 08:52:26 +0000 (+0200) Subject: vmspawn: tighten parser of EXIT_STATUS= X-Git-Tag: v258-rc1~140^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F38110%2Fhead;p=thirdparty%2Fsystemd.git vmspawn: tighten parser of EXIT_STATUS= The EXIT_STATUS is supposed to encapuslate an ANSI C process exit status, which is 8bit unsigned. Hence parse it as such, do not accept negative values, or values > 255. --- diff --git a/src/vmspawn/vmspawn.c b/src/vmspawn/vmspawn.c index 0a3ac892556..a3dd1432b28 100644 --- a/src/vmspawn/vmspawn.c +++ b/src/vmspawn/vmspawn.c @@ -727,9 +727,12 @@ static int read_vsock_notify(NotifyConnectionData *d, int fd) { p = strv_find_startswith(tags, "EXIT_STATUS="); if (p) { - r = safe_atoi(p, d->exit_status); + uint8_t k = 0; + r = safe_atou8(p, &k); if (r < 0) log_warning_errno(r, "Failed to parse exit status from %s, ignoring: %m", p); + else + *d->exit_status = k; } return 1; /* done */