summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
Diffstat (limited to 'sys')
-rw-r--r--sys/kern/imgact_elf.c3
-rw-r--r--sys/sys/procfs.h3
2 files changed, 4 insertions, 2 deletions
diff --git a/sys/kern/imgact_elf.c b/sys/kern/imgact_elf.c
index 8cf2e24..ff18d0e 100644
--- a/sys/kern/imgact_elf.c
+++ b/sys/kern/imgact_elf.c
@@ -919,7 +919,8 @@ elf_corehdr(p, vp, cred, numsegs, hdr, hdrsize)
bzero(&psinfo, sizeof psinfo);
psinfo.pr_version = PRPSINFO_VERSION;
psinfo.pr_psinfosz = sizeof(prpsinfo_t);
- strncpy(psinfo.pr_fname, p->p_comm, MAXCOMLEN);
+ strncpy(psinfo.pr_fname, p->p_comm, sizeof(psinfo.pr_fname) - 1);
+ psinfo.pr_fname[sizeof(psinfo.pr_fname) - 1] = '\0';
/* XXX - We don't fill in the command line arguments properly yet. */
strncpy(psinfo.pr_psargs, p->p_comm, PRARGSZ);
diff --git a/sys/sys/procfs.h b/sys/sys/procfs.h
index 04f0e1c..a7d49c1 100644
--- a/sys/sys/procfs.h
+++ b/sys/sys/procfs.h
@@ -67,6 +67,7 @@ typedef struct prstatus {
typedef fpregset_t prfpregset_t;
+#define PRFNAMESZ 16 /* Maximum command length saved */
#define PRARGSZ 80 /* Maximum argument bytes saved */
#define PRPSINFO_VERSION 1 /* Current version of prpsinfo_t */
@@ -74,7 +75,7 @@ typedef fpregset_t prfpregset_t;
typedef struct prpsinfo {
int pr_version; /* Version number of struct (1) */
size_t pr_psinfosz; /* sizeof(prpsinfo_t) (1) */
- char pr_fname[MAXCOMLEN+1]; /* Command name, null terminated (1) */
+ char pr_fname[PRFNAMESZ+1]; /* Command name, null terminated (1) */
char pr_psargs[PRARGSZ+1]; /* Arguments, null terminated (1) */
} prpsinfo_t;
OpenPOWER on IntegriCloud