From 4e7cc29a820239c2e970303d7a551fbd84f16131 Mon Sep 17 00:00:00 2001 From: hns Date: Wed, 24 Jul 2002 18:34:46 +0000 Subject: [PATCH] Slight modification of the way too large file uploads are handled. --- src/helma/servlet/AbstractServletClient.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/helma/servlet/AbstractServletClient.java b/src/helma/servlet/AbstractServletClient.java index 61947244..a409b836 100644 --- a/src/helma/servlet/AbstractServletClient.java +++ b/src/helma/servlet/AbstractServletClient.java @@ -272,10 +272,14 @@ public abstract class AbstractServletClient extends HttpServlet { BufferedInputStream in = new BufferedInputStream (request.getInputStream ()); if (contentLength > uploadLimit*1024) { // consume all input to make Apache happy - byte b[] = new byte[1024]; + byte b[] = new byte[4096]; int read = 0; - while (in.available () > 0) - read = in.read (b, 0, 1024); + int sum = 0; + while (read > -1 && sum < contentLength) { + read = in.read (b, 0, 4096); + if (read > 0) + sum += read; + } throw new RuntimeException ("Upload exceeds limit of "+uploadLimit+" kb."); } String contentType = request.getContentType ();