From 0b42b39fd71f9066b7bab1abece9a1e7d27471f6 Mon Sep 17 00:00:00 2001 From: Andreas Schildbach Date: Thu, 22 Jan 2015 13:33:31 +0100 Subject: [PATCH] EFA: Check for empty document. --- enabler/src/de/schildbach/pte/AbstractEfaProvider.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/enabler/src/de/schildbach/pte/AbstractEfaProvider.java b/enabler/src/de/schildbach/pte/AbstractEfaProvider.java index c8e6ea5d..595b9a8d 100644 --- a/enabler/src/de/schildbach/pte/AbstractEfaProvider.java +++ b/enabler/src/de/schildbach/pte/AbstractEfaProvider.java @@ -3288,13 +3288,16 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider private ResultHeader enterItdRequest(final XmlPullParser pp) throws XmlPullParserException, IOException { if (pp.getEventType() != XmlPullParser.START_DOCUMENT) - throw new IllegalStateException("start of document expected"); + throw new ParserException("start of document expected"); pp.next(); if (pp.getEventType() == XmlPullParser.DOCDECL) pp.next(); + if (pp.getEventType() == XmlPullParser.END_DOCUMENT) + throw new ParserException("empty document"); + XmlPullUtil.require(pp, "itdRequest"); final String serverVersion = XmlPullUtil.attr(pp, "version"); @@ -3330,10 +3333,13 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider private ResultHeader enterEfa(final XmlPullParser pp) throws XmlPullParserException, IOException { if (pp.getEventType() != XmlPullParser.START_DOCUMENT) - throw new IllegalStateException("start of document expected"); + throw new ParserException("start of document expected"); pp.next(); + if (pp.getEventType() == XmlPullParser.END_DOCUMENT) + throw new ParserException("empty document"); + XmlPullUtil.enter(pp, "efa"); final String now = XmlPullUtil.valueTag(pp, "now");