Watch for CMMException
authorsrowen <srowen@59b500cc-1b3d-0410-9834-0bbf25fbcc57>
Thu, 15 Apr 2010 21:38:15 +0000 (21:38 +0000)
committersrowen <srowen@59b500cc-1b3d-0410-9834-0bbf25fbcc57>
Thu, 15 Apr 2010 21:38:15 +0000 (21:38 +0000)
git-svn-id: http://zxing.googlecode.com/svn/trunk@1307 59b500cc-1b3d-0410-9834-0bbf25fbcc57

zxingorg/src/com/google/zxing/web/DecodeServlet.java

index b561350..e84c2cd 100644 (file)
@@ -56,6 +56,7 @@ import org.apache.http.params.BasicHttpParams;
 import org.apache.http.params.HttpParams;
 import org.apache.http.params.HttpProtocolParams;
 
+import java.awt.color.CMMException;
 import java.awt.image.BufferedImage;
 import java.io.IOException;
 import java.io.InputStream;
@@ -250,7 +251,17 @@ public final class DecodeServlet extends HttpServlet {
   private static void processStream(InputStream is, ServletRequest request,
       HttpServletResponse response) throws ServletException, IOException {
 
-    BufferedImage image = ImageIO.read(is);
+    BufferedImage image;
+    try {
+      image = ImageIO.read(is);
+    } catch (IOException ioe) {
+      response.sendRedirect("badimage.jspx");
+      return;
+    } catch (CMMException cmme) {
+      // Have seen this in logs
+      response.sendRedirect("badimage.jspx");
+      return;
+    }
     if (image == null) {
       response.sendRedirect("badimage.jspx");
       return;