remm 00/11/21 18:28:20
Modified: catalina/src/share/org/apache/catalina/connector/http
SocketInputStream.java
Log:
- Avoid throwing an ArrayOutOfBoundException when the client disconnects
before starting a new request.
Revision Changes Path
1.3 +9 -4
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/SocketInputStream.java
Index: SocketInputStream.java
===================================================================
RCS file:
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/SocketInputStream.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- SocketInputStream.java 2000/11/17 07:25:36 1.2
+++ SocketInputStream.java 2000/11/22 02:28:19 1.3
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/SocketInputStream.java,v
1.2 2000/11/17 07:25:36 remm Exp $
- * $Revision: 1.2 $
- * $Date: 2000/11/17 07:25:36 $
+ * $Header:
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/http/SocketInputStream.java,v
1.3 2000/11/22 02:28:19 remm Exp $
+ * $Revision: 1.3 $
+ * $Date: 2000/11/22 02:28:19 $
*
* ====================================================================
*
@@ -67,6 +67,7 @@
import java.io.IOException;
import java.io.BufferedInputStream;
import java.io.InputStream;
+import java.io.EOFException;
import org.apache.catalina.util.StringManager;
/**
@@ -166,6 +167,9 @@
while ((chr = read()) == CR) { // Skipping CR
read(); // Skipping LF
}
+ if (chr == -1)
+ throw new EOFException
+ (sm.getString("requestStream.readline.error"));
if (chr != CR) {
pos--;
}
@@ -457,7 +461,8 @@
eol = true;
} else {
// FIXME : Check if binary conversion is working fine
- header.value[readCount] = (char) (buf[pos] & 0xff);
+ int ch = buf[pos] & 0xff;
+ header.value[readCount] = (char) ch;
readCount++;
}
pos++;