aboutsummaryrefslogtreecommitdiff
path: root/usr.bin
diff options
context:
space:
mode:
authorMarcel Moolenaar <marcel@FreeBSD.org>2003-10-27 06:50:57 +0000
committerMarcel Moolenaar <marcel@FreeBSD.org>2003-10-27 06:50:57 +0000
commita7a08c7e630fe7cf2c4217ea231366111ce9c9d9 (patch)
tree7e2c75ebf6b86071b054158f6598284ecfd95779 /usr.bin
parent3f741ca11711d036d56d2936e9d369fcd423a2b1 (diff)
downloadsrc-a7a08c7e630fe7cf2c4217ea231366111ce9c9d9.tar.gz
src-a7a08c7e630fe7cf2c4217ea231366111ce9c9d9.zip
Fix truss so that it doesn't abort/exit when a syscall has been given
a NULL-pointer for a sockaddr argument.
Notes
Notes: svn path=/head/; revision=121606
Diffstat (limited to 'usr.bin')
-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 d020d6111a74..1b7318ec0ccd 100644
--- a/usr.bin/truss/syscalls.c
+++ b/usr.bin/truss/syscalls.c
@@ -365,6 +365,11 @@ print_arg(int fd, struct syscall_args *sc, unsigned long *args) {
u_char *q;
int i;
+ if (args[sc->offset] == 0) {
+ asprintf(&tmp, "NULL");
+ break;
+ }
+
/* yuck: get ss_len */
if (get_struct(fd, (void *)args[sc->offset], (void *)&ss,
sizeof(ss.ss_len) + sizeof(ss.ss_family)) == -1)