I informed the current maintainer of procps, Chuck Blake
<cblake@bbn.com>, and thanks to his wonderful help I let him log into
my host this evening and he debugged ps and found & fixed two buglets
very quickly. They were truly small -- an off-by-one thing and
another buffer size problem. Besides the simple fix to the
off-by-one, what he found worked for me in the buffer size problem
temporarily was simply to increase the static buffer size a bit. He
already mentioned a more perfect fix, so I'm tempted not to reveal the
hack that makes it just work until he provides the real true fix; I'm
sure he left my copy with the hack just to prove that that was the
problem, so he can go back and know what bugs to fix in the real version.
I have a feeling he'll have the fixes out shortly along the regular
distribution channels.
BTW, he mentioned the %a option to GNU sprintf as a possible better
solution to the static buffer size overflow problem. I was looking
for the updated manuals for GNU's sprintf since it wasn't in the
manual pages I got on my system. Where do I look up these updated GNU
sprintf documentations? (The source code??) How portable would that
be? I guess it can't matter much since ps is sort of OS-specific.
Thanks,
Bradley Allen <Ulmo@Q.Net>
> Speaking of which, my ps broke yesterday. Strangely enough, I
> installed 2.0.4 two days ago and then ps broke.
>
> # ps auxf
> USER PID %CPU %MEM SIZE RSS TTY STAT START TIME COMMAND
> root 108 0.0 0.9 760 280 2 S 03:00 0:00 /etc/agetty
> 38400 tty2
> root 7902 0.0 1.2 824 396 ? S 11:13 0:00
> /usr/sbin/mgetty.new ttyS0
> Segmentation fault
> #
>
> It's the -f flag that causes it. Believe me, the day I installed
> 2.0.4, I did plenty of ps auxf and they worked fine. But yesterday
> evening, shrug, it stopped.
>
> I tried recompiling (procps-1.01, btw) to no avail.