Index: java/org/apache/commons/httpclient/HttpStatus.java =================================================================== RCS file: /home/cvspublic/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/HttpStatus.java,v retrieving revision 1.15.2.1 diff -u -r1.15.2.1 HttpStatus.java --- java/org/apache/commons/httpclient/HttpStatus.java 22 Feb 2004 18:21:13 -0000 1.15.2.1 +++ java/org/apache/commons/httpclient/HttpStatus.java 27 Apr 2004 15:27:04 -0000 @@ -1,5 +1,5 @@ /* - * $Header: /home/cvspublic/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/HttpStatus.java,v 1.15.2.1 2004/02/22 18:21:13 olegk Exp $ + * $Header: /home/cvs/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/HttpStatus.java,v 1.15.2.1 2004/02/22 18:21:13 olegk Exp $ * $Revision: 1.15.2.1 $ * $Date: 2004/02/22 18:21:13 $ * @@ -77,10 +77,13 @@ */ public static String getStatusText(int statusCode) { + if (statusCode < 0) { + throw new IllegalArgumentException("status code may not be negative"); + } int classIndex = statusCode / 100; int codeIndex = statusCode - classIndex * 100; if (classIndex < 1 || classIndex > (REASON_PHRASES.length - 1) - || codeIndex < 0 || codeIndex > REASON_PHRASES[classIndex].length) { + || codeIndex < 0 || codeIndex > (REASON_PHRASES[classIndex].length - 1)) { return null; } return REASON_PHRASES[classIndex][codeIndex]; Index: test/org/apache/commons/httpclient/TestHttpStatus.java =================================================================== RCS file: /home/cvspublic/jakarta-commons/httpclient/src/test/org/apache/commons/httpclient/TestHttpStatus.java,v retrieving revision 1.2.2.1 diff -u -r1.2.2.1 TestHttpStatus.java --- test/org/apache/commons/httpclient/TestHttpStatus.java 22 Feb 2004 18:21:16 -0000 1.2.2.1 +++ test/org/apache/commons/httpclient/TestHttpStatus.java 27 Apr 2004 15:27:05 -0000 @@ -1,5 +1,5 @@ /* - * $Header: /home/cvspublic/jakarta-commons/httpclient/src/test/org/apache/commons/httpclient/TestHttpStatus.java,v 1.2.2.1 2004/02/22 18:21:16 olegk Exp $ + * $Header: /home/cvs/jakarta-commons/httpclient/src/test/org/apache/commons/httpclient/TestHttpStatus.java,v 1.2.2.1 2004/02/22 18:21:16 olegk Exp $ * $Revision: 1.2.2.1 $ * $Date: 2004/02/22 18:21:16 $ * ==================================================================== @@ -92,4 +92,17 @@ } + public void testStatusTextNegative() throws Exception { + try { + HttpStatus.getStatusText(-1); + fail("IllegalArgumentException must have been thrown"); + } catch (IllegalArgumentException expected) { + } + } + + public void testStatusTextAll() throws Exception { + for (int i = 0; i < 600; i++) { + HttpStatus.getStatusText(i); + } + } }