diff options
author | jhb <jhb@FreeBSD.org> | 2010-07-14 17:38:01 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2010-07-14 17:38:01 +0000 |
commit | fb1e0aa66f080edbbf4244c7f1e74d7cca7faebb (patch) | |
tree | 7850d6ed46b2cb97834e0198437f760471417ca9 /sys/kern/kern_ktrace.c | |
parent | 6ab63421304fef2fcddb8156ca928388a8950d0f (diff) | |
download | FreeBSD-src-fb1e0aa66f080edbbf4244c7f1e74d7cca7faebb.zip FreeBSD-src-fb1e0aa66f080edbbf4244c7f1e74d7cca7faebb.tar.gz |
- Document layout of KTR_STRUCT payload in a comment.
- Simplify ktrstruct() calling convention by having ktrstruct() use
strlen() rather than requiring the caller to hand-code the length of
constant strings.
MFC after: 1 month
Diffstat (limited to 'sys/kern/kern_ktrace.c')
-rw-r--r-- | sys/kern/kern_ktrace.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/sys/kern/kern_ktrace.c b/sys/kern/kern_ktrace.c index 2182ff7..e843da4 100644 --- a/sys/kern/kern_ktrace.c +++ b/sys/kern/kern_ktrace.c @@ -596,9 +596,8 @@ ktrcsw(out, user) } void -ktrstruct(name, namelen, data, datalen) +ktrstruct(name, data, datalen) const char *name; - size_t namelen; void *data; size_t datalen; { @@ -608,11 +607,10 @@ ktrstruct(name, namelen, data, datalen) if (!data) datalen = 0; - buflen = namelen + 1 + datalen; + buflen = strlen(name) + 1 + datalen; buf = malloc(buflen, M_KTRACE, M_WAITOK); - bcopy(name, buf, namelen); - buf[namelen] = '\0'; - bcopy(data, buf + namelen + 1, datalen); + strcpy(buf, name); + bcopy(data, buf + strlen(name) + 1, datalen); if ((req = ktr_getrequest(KTR_STRUCT)) == NULL) { free(buf, M_KTRACE); return; |