diff options
author | Marcel Moolenaar <marcel@FreeBSD.org> | 2003-10-27 06:50:57 +0000 |
---|---|---|
committer | Marcel Moolenaar <marcel@FreeBSD.org> | 2003-10-27 06:50:57 +0000 |
commit | a7a08c7e630fe7cf2c4217ea231366111ce9c9d9 (patch) | |
tree | 7e2c75ebf6b86071b054158f6598284ecfd95779 /usr.bin/truss/syscalls.c | |
parent | 3f741ca11711d036d56d2936e9d369fcd423a2b1 (diff) | |
download | src-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/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 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) |