jdk/src/share/classes/sun/net/www/http/ChunkedInputStream.java

Print this page
rev 5672 : 7186954: Improve connection performance
Reviewed-by: chegar, skoivu

*** 123,132 **** --- 123,137 ---- * Indicates if the chunked stream has been closed using the * <code>close</code> method. */ private boolean closed; + /* + * Maximum chunk header size of 2KB + 2 bytes for CRLF + */ + private final static int MAX_CHUNK_HEADER_SIZE = 2050; + /** * State to indicate that next field should be :- * chunk-size [ chunk-extension ] CRLF */ static final int STATE_AWAITING_CHUNK_HEADER = 1;
*** 288,297 **** --- 293,306 ---- while (pos < rawCount) { if (rawData[pos] == '\n') { break; } pos++; + if ((pos - rawPos) >= MAX_CHUNK_HEADER_SIZE) { + error = true; + throw new IOException("Chunk header too long"); + } } if (pos >= rawCount) { return; }