You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2015/02/06 10:03:09 UTC
[2/2] tomee git commit: avoid NPE is inputstream of a http request is
empty
avoid NPE is inputstream of a http request is empty
Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/7da9d6f0
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/7da9d6f0
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/7da9d6f0
Branch: refs/heads/develop
Commit: 7da9d6f0882d20c6e41b1481ae62560186c3d771
Parents: a0c37da
Author: Romain Manni-Bucau <rm...@apache.org>
Authored: Fri Feb 6 10:02:55 2015 +0100
Committer: Romain Manni-Bucau <rm...@apache.org>
Committed: Fri Feb 6 10:02:55 2015 +0100
----------------------------------------------------------------------
.../apache/openejb/server/httpd/HttpRequestImpl.java | 13 ++++++++++---
.../apache/openejb/server/httpd/OpenEJBHttpServer.java | 4 +++-
2 files changed, 13 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tomee/blob/7da9d6f0/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/HttpRequestImpl.java
----------------------------------------------------------------------
diff --git a/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/HttpRequestImpl.java b/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/HttpRequestImpl.java
index d285109..4cd69ec 100644
--- a/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/HttpRequestImpl.java
+++ b/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/HttpRequestImpl.java
@@ -405,10 +405,12 @@ public class HttpRequestImpl implements HttpRequest {
* @param input the data input for this page
* @throws java.io.IOException if an exception is thrown
*/
- protected void readMessage(InputStream input) throws IOException {
+ protected boolean readMessage(InputStream input) throws IOException {
final DataInput di = new DataInputStream(input);
- readRequestLine(di);
+ if (!readRequestLine(di)) {
+ return false;
+ }
readHeaders(di);
readBody(di);
@@ -431,6 +433,7 @@ public class HttpRequestImpl implements HttpRequest {
}
}
}
+ return true;
}
public void print(final Logger log, boolean formatXml) {
@@ -460,7 +463,7 @@ public class HttpRequestImpl implements HttpRequest {
* @param in the input to be read
* @throws java.io.IOException if an exception is thrown
*/
- private void readRequestLine(DataInput in) throws IOException {
+ private boolean readRequestLine(DataInput in) throws IOException {
String line;
try {
line = in.readLine();
@@ -471,12 +474,16 @@ public class HttpRequestImpl implements HttpRequest {
+ " : "
+ e.getMessage());
}
+ if (line == null) {
+ return false;
+ }
StringTokenizer lineParts = new StringTokenizer(line, " ");
/* [1] Parse the method */
parseMethod(lineParts);
/* [2] Parse the URI */
parseURI(lineParts);
+ return true;
}
/**
http://git-wip-us.apache.org/repos/asf/tomee/blob/7da9d6f0/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/OpenEJBHttpServer.java
----------------------------------------------------------------------
diff --git a/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/OpenEJBHttpServer.java b/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/OpenEJBHttpServer.java
index 2e52627..33f358c 100644
--- a/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/OpenEJBHttpServer.java
+++ b/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/OpenEJBHttpServer.java
@@ -230,7 +230,9 @@ public class OpenEJBHttpServer implements HttpServer {
final HttpResponseImpl res = new HttpResponseImpl();
try {
- req.readMessage(in);
+ if (!req.readMessage(in)) {
+ return res;
+ }
if (print.size() > 0 && print.contains(Output.REQUEST)) {
req.print(log, indent);