--- a/jdk/src/share/classes/sun/rmi/transport/proxy/CGIHandler.java Mon Nov 19 13:54:12 2012 -0800
+++ b/jdk/src/share/classes/sun/rmi/transport/proxy/CGIHandler.java Mon Nov 19 15:38:56 2012 -0800
@@ -293,11 +293,14 @@
"unexpected EOF reading server response");
if (line.toLowerCase().startsWith(key)) {
- // if contentLengthFound is true
- // we should probably do something here
- responseContentLength =
- Integer.parseInt(line.substring(key.length()).trim());
- contentLengthFound = true;
+ if (contentLengthFound) {
+ throw new CGIServerException(
+ "Multiple Content-length entries found.");
+ } else {
+ responseContentLength =
+ Integer.parseInt(line.substring(key.length()).trim());
+ contentLengthFound = true;
+ }
}
} while ((line.length() != 0) &&
(line.charAt(0) != '\r') && (line.charAt(0) != '\n'));
--- a/jdk/src/share/classes/sun/rmi/transport/proxy/HttpInputStream.java Mon Nov 19 13:54:12 2012 -0800
+++ b/jdk/src/share/classes/sun/rmi/transport/proxy/HttpInputStream.java Mon Nov 19 15:38:56 2012 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -70,11 +70,14 @@
throw new EOFException();
if (line.toLowerCase().startsWith(key)) {
- // if contentLengthFound is true
- // we should probably do something here
- bytesLeft =
- Integer.parseInt(line.substring(key.length()).trim());
- contentLengthFound = true;
+ if (contentLengthFound) {
+ throw new IOException(
+ "Multiple Content-length entries found.");
+ } else {
+ bytesLeft =
+ Integer.parseInt(line.substring(key.length()).trim());
+ contentLengthFound = true;
+ }
}
// The idea here is to go past the first blank line.