summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_ktrace.c
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>1999-09-20 21:53:17 +0000
committermarcel <marcel@FreeBSD.org>1999-09-20 21:53:17 +0000
commit19d9a52e27c709bd147e2611544245ba9e36bfc4 (patch)
tree09a71cb4c66cf1b0b71c75df1d58a60285115990 /sys/kern/kern_ktrace.c
parent915efc6d1eda968beabc52d119e8be62e73aa2c0 (diff)
downloadFreeBSD-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.c8
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);
OpenPOWER on IntegriCloud