diff options
author | marcel <marcel@FreeBSD.org> | 1999-09-20 21:53:17 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 1999-09-20 21:53:17 +0000 |
commit | 19d9a52e27c709bd147e2611544245ba9e36bfc4 (patch) | |
tree | 09a71cb4c66cf1b0b71c75df1d58a60285115990 /sys/kern/kern_ktrace.c | |
parent | 915efc6d1eda968beabc52d119e8be62e73aa2c0 (diff) | |
download | FreeBSD-src-19d9a52e27c709bd147e2611544245ba9e36bfc4.zip FreeBSD-src-19d9a52e27c709bd147e2611544245ba9e36bfc4.tar.gz |
When bcopying the program name into the ktrace header, make sure we include
the terminating zero by copying MAXCOMLEN + 1 bytes. This fixes the garbage
that occasionally appeared behind the programname when it is at least MAXCOMLEN
bytes long (such as communicator-4.61-bin).
Diffstat (limited to 'sys/kern/kern_ktrace.c')
-rw-r--r-- | sys/kern/kern_ktrace.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/kern/kern_ktrace.c b/sys/kern/kern_ktrace.c index bc6f81f..c2dfcac 100644 --- a/sys/kern/kern_ktrace.c +++ b/sys/kern/kern_ktrace.c @@ -73,7 +73,7 @@ ktrgetheader(type) kth->ktr_type = type; microtime(&kth->ktr_time); kth->ktr_pid = p->p_pid; - bcopy(p->p_comm, kth->ktr_comm, MAXCOMLEN); + bcopy(p->p_comm, kth->ktr_comm, MAXCOMLEN + 1); return (kth); } @@ -194,9 +194,9 @@ done: void ktrpsig(vp, sig, action, mask, code) struct vnode *vp; - int sig; + int sig, code; sig_t action; - int mask, code; + sigset_t *mask; { struct ktr_header *kth; struct ktr_psig kp; @@ -206,7 +206,7 @@ ktrpsig(vp, sig, action, mask, code) kth = ktrgetheader(KTR_PSIG); kp.signo = (char)sig; kp.action = action; - kp.mask = mask; + kp.mask = *mask; kp.code = code; kth->ktr_buf = (caddr_t)&kp; kth->ktr_len = sizeof (struct ktr_psig); |