]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
vmspawn: properly exit in vmspawn child on failure
authorLennart Poettering <lennart@poettering.net>
Mon, 10 Mar 2025 10:37:03 +0000 (11:37 +0100)
committerLennart Poettering <lennart@poettering.net>
Mon, 10 Mar 2025 15:41:43 +0000 (16:41 +0100)
src/vmspawn/vmspawn.c

index 8cae37b07bf152b4de87849bcac2d493004aa958..d8b06b7ca6ef407d65b23174f3bad64f6e9e20ae 100644 (file)
@@ -2265,14 +2265,19 @@ static int run_virtual_machine(int kvm_device_fd, int vhost_device_fd) {
                 return r;
         if (r == 0) {
                 /* set TERM and LANG if they are missing */
-                if (setenv("TERM", "vt220", 0) < 0)
-                        return log_oom();
+                if (setenv("TERM", "vt220", 0) < 0) {
+                        log_oom();
+                        goto fail;
+                }
 
-                if (setenv("LANG", "C.UTF-8", 0) < 0)
-                        return log_oom();
+                if (setenv("LANG", "C.UTF-8", 0) < 0) {
+                        log_oom();
+                        goto fail;
+                }
 
                 execv(qemu_binary, cmdline);
                 log_error_errno(errno, "Failed to execve %s: %m", qemu_binary);
+        fail:
                 _exit(EXIT_FAILURE);
         }