>Number: 134
>Category: other
>Synopsis: httpd_monitor prints garbage chars for children in status
>states 4-7
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: gnats-admin (GNATS administrator)
>State: open
>Class: sw-bug
>Submitter-Id: apache
>Arrival-Date: Mon Jan 27 23:00:00 1997
>Originator: [EMAIL PROTECTED]
>Organization:
apache
>Release: 1.2b6
>Environment:
Linux 2.0.18 kernel (RedHat 4.0), gcc 2.7.2
>Description:
The static kid_stat[] charcter buffer hold four chars, but when the
buffer is used:
achar = kid_stat[(int)scoreboard_image.status];
the possbile values range from 0..7, as per the defines in src/scoreboard.h
Most common invalid index seemed to be 4.
I was getting 0xff characters in the output, which showed up as a 'y'
character with two dots over it. I don't know what would show up on
a terminal/window that wasn't eight bit clean.
>How-To-Repeat:
Should show up when http_monitor checks scoreboard while a server is
in SERVER_BUSY_WRITE (4) status. Use "-s 1" and send a request for
a huge file that will cause server to take serveral seconds to finish
sending.
>Fix:
Increase size of kid_stat array, as follows:
static char kid_stat[] = { '_', 's', 'R', 't', 'R', 'R', 'R', 'R' };
if you don't want to add new status codes, or to something like:
static char kid_stat[] = { '_', 's', 'R', 't', 'W', 'K', 'L', 'D' };
I can provide a patch that does the second one upon request
>Audit-Trail:
>Unformatted: