From b73efdfba1bd8dfbd4ce0ab799260f9066ce3263 Mon Sep 17 00:00:00 2001 From: srowen Date: Sun, 6 May 2012 19:33:38 +0000 Subject: [PATCH] Handle bad key-value pairs in URL by ignoring git-svn-id: https://zxing.googlecode.com/svn/trunk@2283 59b500cc-1b3d-0410-9834-0bbf25fbcc57 --- core/src/com/google/zxing/client/result/ResultParser.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/core/src/com/google/zxing/client/result/ResultParser.java b/core/src/com/google/zxing/client/result/ResultParser.java index b8ec2486b..c6d93542f 100644 --- a/core/src/com/google/zxing/client/result/ResultParser.java +++ b/core/src/com/google/zxing/client/result/ResultParser.java @@ -178,18 +178,19 @@ public abstract class ResultParser { return result; } - private static void appendKeyValue(CharSequence keyValue, - Map result) { + private static void appendKeyValue(CharSequence keyValue, Map result) { String[] keyValueTokens = EQUALS.split(keyValue, 2); if (keyValueTokens.length == 2) { String key = keyValueTokens[0]; String value = keyValueTokens[1]; try { value = URLDecoder.decode(value, "UTF-8"); + result.put(key, value); } catch (UnsupportedEncodingException uee) { throw new IllegalStateException(uee); // can't happen + } catch (IllegalArgumentException iae) { + // continue; invalid data such as an escape like %0t } - result.put(key, value); } }