diff options
author | Michael Tuexen <tuexen@FreeBSD.org> | 2018-01-16 20:02:07 +0000 |
---|---|---|
committer | Michael Tuexen <tuexen@FreeBSD.org> | 2018-01-16 20:02:07 +0000 |
commit | 6accaf4a909ecdec8ff38a9f2f64b1da49ef8947 (patch) | |
tree | 63a8519abcb0494c3b7a4bb9568179c801794acd /usr.bin/truss/syscalls.c | |
parent | 3193be242be21ec02dbe64a882159c3557dbcde9 (diff) | |
download | src-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.c | 5 |
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; |