From 173c04acb9ad631d17442ec1846c6f2e3edcdbf1 Mon Sep 17 00:00:00 2001 From: dswitkin Date: Thu, 30 Oct 2008 16:35:26 +0000 Subject: [PATCH] Fixed a crash in calendar parsing when encountering an illegal VEVENT without newlines. git-svn-id: http://zxing.googlecode.com/svn/trunk@655 59b500cc-1b3d-0410-9834-0bbf25fbcc57 --- .../com/google/zxing/client/result/CalendarParsedResult.java | 4 ++++ .../zxing/client/result/ParsedReaderResultTestCase.java | 3 +++ 2 files changed, 7 insertions(+) diff --git a/core/src/com/google/zxing/client/result/CalendarParsedResult.java b/core/src/com/google/zxing/client/result/CalendarParsedResult.java index 4b2b7eb3..8c4a4050 100644 --- a/core/src/com/google/zxing/client/result/CalendarParsedResult.java +++ b/core/src/com/google/zxing/client/result/CalendarParsedResult.java @@ -35,6 +35,10 @@ public final class CalendarParsedResult extends ParsedResult { String attendee, String title) { super(ParsedResultType.CALENDAR); + // Start is required, end is not + if (start == null) { + throw new IllegalArgumentException(); + } validateDate(start); validateDate(end); this.summary = summary; diff --git a/core/test/src/com/google/zxing/client/result/ParsedReaderResultTestCase.java b/core/test/src/com/google/zxing/client/result/ParsedReaderResultTestCase.java index 0a69d238..b8f96976 100644 --- a/core/test/src/com/google/zxing/client/result/ParsedReaderResultTestCase.java +++ b/core/test/src/com/google/zxing/client/result/ParsedReaderResultTestCase.java @@ -142,6 +142,9 @@ public final class ParsedReaderResultTestCase extends TestCase { doTestResult("BEGIN:VEVENT\r\nSUMMARY:foo\r\nDTSTART:20080504\r\nEND:VEVENT", ParsedResultType.CALENDAR); doTestResult("BEGIN:VEVENT\r\nDTEND:20080505T\r\nEND:VEVENT", ParsedResultType.TEXT); + // Make sure illegal entries without newlines don't crash + doTestResult("BEGIN:VEVENTSUMMARY:EventDTSTART:20081030T122030ZDTEND:20081030T132030ZEND:VEVENT", + ParsedResultType.URI); doTestResult("BEGIN:VEVENT", ParsedResultType.URI); // See above note on why this is URI } -- 2.20.1