aboutsummaryrefslogtreecommitdiff
path: root/usr.bin/truss/syscalls.c
diff options
context:
space:
mode:
authorMichael Tuexen <tuexen@FreeBSD.org>2018-01-16 20:02:07 +0000
committerMichael Tuexen <tuexen@FreeBSD.org>2018-01-16 20:02:07 +0000
commit6accaf4a909ecdec8ff38a9f2f64b1da49ef8947 (patch)
tree63a8519abcb0494c3b7a4bb9568179c801794acd /usr.bin/truss/syscalls.c
parent3193be242be21ec02dbe64a882159c3557dbcde9 (diff)
downloadsrc-6accaf4a909ecdec8ff38a9f2f64b1da49ef8947.tar.gz
src-6accaf4a909ecdec8ff38a9f2f64b1da49ef8947.zip
Improve the printing of cmgs when the length is 0. Fix error handling.
Notes
Notes: svn path=/head/; revision=328059
Diffstat (limited to 'usr.bin/truss/syscalls.c')
-rw-r--r--usr.bin/truss/syscalls.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/usr.bin/truss/syscalls.c b/usr.bin/truss/syscalls.c
index d7358a248e45..b1169a3c88fc 100644
--- a/usr.bin/truss/syscalls.c
+++ b/usr.bin/truss/syscalls.c
@@ -1493,10 +1493,15 @@ print_cmsgs(FILE *fp, pid_t pid, bool receive, struct msghdr *msghdr)
bool first;
len = msghdr->msg_controllen;
+ if (len == 0) {
+ fputs("{}", fp);
+ return;
+ }
cmsgbuf = calloc(1, len);
if (get_struct(pid, msghdr->msg_control, cmsgbuf, len) == -1) {
fprintf(fp, "%p", msghdr->msg_control);
free(cmsgbuf);
+ return;
}
msghdr->msg_control = cmsgbuf;
first = true;