From fd091de0e28bee88b6785d395e23cb6a4b1dac0c Mon Sep 17 00:00:00 2001 From: srowen Date: Wed, 30 Jul 2008 21:58:17 +0000 Subject: [PATCH] Some small improvements in error handling based on exceptions observed at zxing.org git-svn-id: http://zxing.googlecode.com/svn/trunk@538 59b500cc-1b3d-0410-9834-0bbf25fbcc57 --- core/src/com/google/zxing/qrcode/detector/Detector.java | 3 +++ zxingorg/src/com/google/zxing/web/DecodeServlet.java | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/core/src/com/google/zxing/qrcode/detector/Detector.java b/core/src/com/google/zxing/qrcode/detector/Detector.java index f57ae587..8f06e8d7 100644 --- a/core/src/com/google/zxing/qrcode/detector/Detector.java +++ b/core/src/com/google/zxing/qrcode/detector/Detector.java @@ -74,6 +74,9 @@ public final class Detector { FinderPattern bottomLeft = info.getBottomLeft(); float moduleSize = calculateModuleSize(topLeft, topRight, bottomLeft); + if (moduleSize < 1.0f) { + throw new ReaderException("Module size too small"); + } int dimension = computeDimension(topLeft, topRight, bottomLeft, moduleSize); Version provisionalVersion = Version.getProvisionalVersionForDimension(dimension); int modulesBetweenFPCenters = provisionalVersion.getDimensionForVersion() - 7; diff --git a/zxingorg/src/com/google/zxing/web/DecodeServlet.java b/zxingorg/src/com/google/zxing/web/DecodeServlet.java index 0135bb3a..e5ea0425 100644 --- a/zxingorg/src/com/google/zxing/web/DecodeServlet.java +++ b/zxingorg/src/com/google/zxing/web/DecodeServlet.java @@ -58,6 +58,7 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStreamWriter; import java.io.Writer; +import java.net.SocketException; import java.net.URI; import java.net.URISyntaxException; import java.net.UnknownHostException; @@ -160,6 +161,14 @@ public final class DecodeServlet extends HttpServlet { } finally { is.close(); } + } catch (IllegalArgumentException iae) { + // Thrown if hostname is bad or null + getRequest.abort(); + response.sendRedirect("badurl.jspx"); + } catch (SocketException se) { + // Thrown if hostname is bad or null + getRequest.abort(); + response.sendRedirect("badurl.jspx"); } catch (HttpException he) { getRequest.abort(); response.sendRedirect("badurl.jspx"); -- 2.20.1