]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
core/exec-invoke: correct fd array size for collect_open_file_fds()
authorMike Yuan <me@yhndnzj.com>
Fri, 31 Oct 2025 15:09:54 +0000 (16:09 +0100)
committerLuca Boccassi <luca.boccassi@gmail.com>
Fri, 31 Oct 2025 17:32:34 +0000 (17:32 +0000)
Follow-up for f70346fb87052f37d446d2e9ccf915e5289b2b87

src/core/exec-invoke.c

index 14e15cb8a66a4498225d904ed017b735e13ded82..cfa6df3d71e16f35285bba918fc05d533f33210e 100644 (file)
@@ -4444,13 +4444,13 @@ static int collect_open_file_fds(ExecParameters *p) {
                         return log_error_errno(fd, "Failed to get OpenFile= file descriptor for '%s': %m", of->path);
                 }
 
-                if (!GREEDY_REALLOC(p->fds, p->n_stashed_fds + 1))
+                if (!GREEDY_REALLOC(p->fds, p->n_socket_fds + p->n_stashed_fds + 1))
                         return log_oom();
 
                 if (strv_extend(&p->fd_names, of->fdname) < 0)
                         return log_oom();
 
-                p->fds[p->n_stashed_fds++] = TAKE_FD(fd);
+                p->fds[p->n_socket_fds + p->n_stashed_fds++] = TAKE_FD(fd);
         }
 
         return 0;