[freenet-cvs] r11194 - trunk/freenet/src/freenet/clients/http/filter

toad at freenetproject.org toad at freenetproject.org
Sat Dec 2 16:42:55 UTC 2006


Author: toad
Date: 2006-12-02 16:42:54 +0000 (Sat, 02 Dec 2006)
New Revision: 11194

Modified:
   trunk/freenet/src/freenet/clients/http/filter/PNGFilter.java
Log:
Always close

Modified: trunk/freenet/src/freenet/clients/http/filter/PNGFilter.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/filter/PNGFilter.java	2006-12-02 16:40:52 UTC (rev 11193)
+++ trunk/freenet/src/freenet/clients/http/filter/PNGFilter.java	2006-12-02 16:42:54 UTC (rev 11194)
@@ -29,18 +29,22 @@
 		InputStream is = data.getInputStream();
 		BufferedInputStream bis = new BufferedInputStream(is);
 		DataInputStream dis = new DataInputStream(bis);
-		// Check the header
-		byte[] headerCheck = new byte[pngHeader.length];
-		dis.read(headerCheck);
-		if(!Arrays.equals(headerCheck, pngHeader)) {
-			// Throw an exception
-			String message = "The file you tried to fetch is not a PNG. It does not include a valid PNG header. "+
+		try {
+			// Check the header
+			byte[] headerCheck = new byte[pngHeader.length];
+			dis.read(headerCheck);
+			if(!Arrays.equals(headerCheck, pngHeader)) {
+				// Throw an exception
+				String message = 
+					"The file you tried to fetch is not a PNG. It does not include a valid PNG header. "+
 					"It might be some other file format, and your browser may do something horrible with it, "+
 					"therefore we have blocked it."; 
-			throw new DataFilterException("Not a PNG - invalid header", "Not a PNG - invalid header",
-					"<p>"+message+"</p>", new HTMLNode("p").addChild("#", message));
+				throw new DataFilterException("Not a PNG - invalid header", "Not a PNG - invalid header",
+						"<p>"+message+"</p>", new HTMLNode("p").addChild("#", message));
+			}
+		} finally {
+			dis.close();
 		}
-		dis.close();
 		return data;
 	}
 




More information about the cvs mailing list