]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
nspawn: don't use strjoina() for user controlled strings
authorLennart Poettering <lennart@poettering.net>
Thu, 12 Jun 2025 15:37:45 +0000 (17:37 +0200)
committerLennart Poettering <lennart@poettering.net>
Tue, 8 Jul 2025 04:40:46 +0000 (06:40 +0200)
src/nspawn/nspawn-register.c

index b746d095300f8918e0c39068007e5c9641d2d79e..1582069505718ef8a0da7b5127936351a4f73dd1 100644 (file)
@@ -266,7 +266,7 @@ int allocate_scope(
         _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
         _cleanup_(bus_wait_for_jobs_freep) BusWaitForJobs *w = NULL;
         _cleanup_free_ char *scope = NULL;
-        const char *description, *object;
+        const char *object;
         int r;
 
         assert(bus);
@@ -292,12 +292,14 @@ int allocate_scope(
         if (r < 0)
                 return bus_log_create_error(r);
 
-        description = strjoina("Container ", machine_name);
-
         r = bus_append_scope_pidref(m, pid, FLAGS_SET(flags, ALLOCATE_SCOPE_ALLOW_PIDFD));
         if (r < 0)
                 return bus_log_create_error(r);
 
+        _cleanup_free_ char *description = strjoin("Container ", machine_name);
+        if (!description)
+                return log_oom();
+
         r = sd_bus_message_append(m, "(sv)(sv)(sv)(sv)(sv)",
                                   "Description", "s", description,
                                   "Delegate", "b", 1,