From ef0c12ad9e546ebe3a6f2dd4df8fdd7ec7f6d3fb Mon Sep 17 00:00:00 2001 From: nicm <nicm> Date: Fri, 28 Mar 2025 17:03:49 +0000 Subject: [PATCH] Fix read of uninitialized memory for jobs with JOB_PTY flag. From David Mandelberg. --- job.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/job.c b/job.c index 943eef2c..ab696e36 100644 --- a/job.c +++ b/job.c @@ -183,7 +183,7 @@ job_run(const char *cmd, int argc, char **argv, struct environ *e, environ_free(env); free(argv0); - job = xmalloc(sizeof *job); + job = xcalloc(1, sizeof *job); job->state = JOB_RUNNING; job->flags = flags; @@ -192,7 +192,8 @@ job_run(const char *cmd, int argc, char **argv, struct environ *e, else job->cmd = cmd_stringify_argv(argc, argv); job->pid = pid; - strlcpy(job->tty, tty, sizeof job->tty); + if (flags & JOB_PTY) + strlcpy(job->tty, tty, sizeof job->tty); job->status = 0; LIST_INSERT_HEAD(&all_jobs, job, entry);