ben 96/10/19 10:02:17
Modified: src http_protocol.c
Log:
An illegal response code caused Apache to dump core. Fixed.
Revision Changes Path
1.58 +4 -10 apache/src/http_protocol.c
Index: http_protocol.c
===================================================================
RCS file: /export/home/cvs/apache/src/http_protocol.c,v
retrieving revision 1.57
retrieving revision 1.58
diff -C3 -r1.57 -r1.58
*** http_protocol.c 1996/10/16 23:24:33 1.57
--- http_protocol.c 1996/10/19 17:02:16 1.58
***************
*** 50,56 ****
*
*/
! /* $Id: http_protocol.c,v 1.57 1996/10/16 23:24:33 fielding Exp $ */
/*
* http_protocol.c --- routines which directly communicate with the
--- 50,56 ----
*
*/
! /* $Id: http_protocol.c,v 1.58 1996/10/19 17:02:16 ben Exp $ */
/*
* http_protocol.c --- routines which directly communicate with the
***************
*** 856,862 ****
int i, pos;
if (status < 100) /* Below 100 is illegal for HTTP status */
! return -1;
for (i = 0; i < 5; i++) {
status -= 100;
--- 856,862 ----
int i, pos;
if (status < 100) /* Below 100 is illegal for HTTP status */
! return LEVEL_500;
for (i = 0; i < 5; i++) {
status -= 100;
***************
*** 865,874 ****
if (pos < shortcut[i+1])
return pos;
else
! return -1; /* status unknown (falls in gap) */
}
}
! return -1; /* 600 or above is also illegal */
}
--- 865,874 ----
if (pos < shortcut[i+1])
return pos;
else
! return LEVEL_500; /* status unknown (falls in gap) */
}
}
! return LEVEL_500; /* 600 or above is also illegal */
}
***************
*** 1305,1316 ****
char *location = table_get (r->headers_out, "Location");
int status = r->status;
int idx = index_of_response (status);
-
- /* If status code not found, use code 500. */
- if (idx == -1) {
- status = HTTP_INTERNAL_SERVER_ERROR;
- idx = index_of_response(HTTP_INTERNAL_SERVER_ERROR);
- }
if (!r->assbackwards) {
int i;
--- 1305,1310 ----