bin/50603: Use of uninitialized value in printf at
/usr/bin/sockstat line 141.
Jacques
jacques at ataris.co.za
Fri Apr 4 07:10:09 PST 2003
>Number: 50603
>Category: bin
>Synopsis: Use of uninitialized value in printf at /usr/bin/sockstat line 141.
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Fri Apr 04 07:10:02 PST 2003
>Closed-Date:
>Last-Modified:
>Originator: Jacques
>Release: FreeBSD 4.8-RC i386
>Organization:
Ataris Technologies
>Environment:
System: FreeBSD mimbari.ataris.co.za 4.8-RC FreeBSD 4.8-RC #2: Thu Apr 3 15:09:34 SAST 2003 root at mimbari.ataris.co.za:/usr/obj/usr/src/sys/MIMBARI i386
Has existed since early 4.4-STABLE days if my memory serves me correctly.
>Description:
There is an bug in usr.bin/sockstat/sockstat.pl which appears when
the sysctl variable kern.ps_showallprocs is set to 0. When
kern.ps_showallprocs is set to 1 the problem does not occur.
Without the patch sockstat outputs:
jacques at mimbari:~$ sockstat
USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS
jacques sshd 83428 5 tcp4 XXX.XXX.X.X:22 XXX.XXX.X.XXX:2409
jacques sshd 54396 5 tcp4 XXX.XXX.X.X:22 XXX.XXX.X.XXX:2257
jacques sshd 46680 5 tcp4 XXX.XXX.X.X:22 XXX.XXX.X.XXX:2215
jacques ssh 26598 3 tcp4 XXX.X.XX.XX:1084 XXX.X.XX.XX:22
jacques sshd 26526 5 tcp4 XXX.XXX.X.X:22 XXX.XXX.X.XXX:2175
USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS
USER COMMAND PID FD PROTO ADDRESS
Use of uninitialized value at /usr/bin/sockstat line 141.
jacques sshd 83428 3 stream
Use of uninitialized value at /usr/bin/sockstat line 141.
jacques sshd 54396 3 stream
Use of uninitialized value at /usr/bin/sockstat line 141.
jacques sshd 46680 3 stream
Use of uninitialized value at /usr/bin/sockstat line 141.
jacques sshd 26526 3 stream
With the patch the output looks like:
jacques at mimbari:~$ !perl
perl /usr/src/usr.bin/sockstat/sockstat.pl
USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS
jacques sshd 83428 5 tcp4 XXX.XXX.X.X:22 XXX.XXX.X.XXX:2409
jacques sshd 54396 5 tcp4 XXX.XXX.X.X:22 XXX.XXX.X.XXX:2257
jacques sshd 46680 5 tcp4 XXX.XXX.X.X:22 XXX.XXX.X.XXX:2215
jacques ssh 26598 3 tcp4 XXX.X.XX.XX:1084 XXX.X.XX.XX:22
jacques sshd 26526 5 tcp4 XXX.XXX.X.X:22 XXX.XXX.X.XXX:2175
USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS
USER COMMAND PID FD PROTO ADDRESS
jacques sshd 83428 3 stream (none)
jacques sshd 54396 3 stream (none)
jacques sshd 46680 3 stream (none)
jacques sshd 26526 3 stream (none)
>How-To-Repeat:
>Fix:
Credits go to Cas <xcas at cox.net> who supplied the fix and I've made
the patch file of the change from Cas.
Apply the following patch in /usr/src
patch < /root/patches/sockstat.pl
--- sockstat.patch begins here ---
--- usr.bin/sockstat/sockstat.pl.old Wed Oct 3 00:41:22 2001
+++ usr.bin/sockstat/sockstat.pl Fri Apr 4 15:01:49 2003
@@ -140,7 +140,7 @@
$nsd = $netstat{$fsd->[6]} || $unknown;
printf($unix_fmt, $fsd->[0], $fsd->[1], $fsd->[2],
substr($fsd->[3], 0, -1), $fsd->[5],
- $nsd->[8] || ($fsd->[8] ? $endpoint{$fsd->[8]} : "(none)"));
+ $nsd->[8] || ($fsd->[8] && $endpoint{$fsd->[8]} ? $endpoint{$fsd->[8]} : "(none)"));
}
print("\n");
}
--- sockstat.patch ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list