diff options
author | Patrick Mooney <patrick.f.mooney@gmail.com> | 2015-07-07 21:49:40 +0000 |
---|---|---|
committer | Patrick Mooney <patrick.f.mooney@gmail.com> | 2015-07-07 22:33:12 +0000 |
commit | a47f3222d42e215b5624109805b4c36ef5226375 (patch) | |
tree | 6ee3e9bff54cf588e3dd5c87bffe62807a264acc | |
parent | 3a9fa1cfd05aadf5a37b44d84b0a0737c939b03c (diff) | |
download | illumos-joyent-a47f3222d42e215b5624109805b4c36ef5226375.tar.gz |
OS-4492 lxbrand prctl(PR_SET_NAME) malfunction
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
-rw-r--r-- | usr/src/uts/common/brand/lx/syscall/lx_prctl.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/usr/src/uts/common/brand/lx/syscall/lx_prctl.c b/usr/src/uts/common/brand/lx/syscall/lx_prctl.c index eed9075f93..5fe28cb162 100644 --- a/usr/src/uts/common/brand/lx/syscall/lx_prctl.c +++ b/usr/src/uts/common/brand/lx/syscall/lx_prctl.c @@ -115,7 +115,7 @@ lx_prctl(int opt, uintptr_t data) } case LX_PR_SET_NAME: { - char name[LX_PR_SET_NAME_NAMELEN]; + char name[LX_PR_SET_NAME_NAMELEN + 1]; proc_t *p = curproc; /* * In Linux, PR_SET_NAME sets the name of the thread, not the @@ -133,10 +133,10 @@ lx_prctl(int opt, uintptr_t data) if (copyin((void *)data, name, LX_PR_SET_NAME_NAMELEN) != 0) { return (set_errno(EFAULT)); } - name[LX_PR_SET_NAME_NAMELEN - 1] = '\0'; + name[LX_PR_SET_NAME_NAMELEN] = '\0'; mutex_enter(&p->p_lock); - (void) strncpy(name, p->p_user.u_comm, MAXCOMLEN); - (void) strncpy(name, p->p_user.u_psargs, PSARGSZ); + (void) strncpy(p->p_user.u_comm, name, MAXCOMLEN + 1); + (void) strncpy(p->p_user.u_psargs, name, PSARGSZ); mutex_exit(&p->p_lock); return (0); } |