>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:


Reply via email to