From 0e0f37a35c06ca0785e3909c373f9da75f5e9d72 Mon Sep 17 00:00:00 2001 From: Daniel Veillard Date: Tue, 20 May 2003 12:22:41 +0000 Subject: [PATCH] fixing Red Hat bug #91013 where xmllint was accepting an improper UTF8 * parserInternals.c: fixing Red Hat bug #91013 where xmllint was accepting an improper UTF8 sequence Daniel --- ChangeLog | 5 +++++ parserInternals.c | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/ChangeLog b/ChangeLog index 74766875..b7689b60 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Tue May 20 14:21:23 CEST 2003 Daniel Veillard + + * parserInternals.c: fixing Red Hat bug #91013 where xmllint was + accepting an improper UTF8 sequence + Sat May 17 12:53:11 CEST 2003 Igor Zlatkovic * threads.c: applied the patch from Stéphane Bidoul for getting diff --git a/parserInternals.c b/parserInternals.c index 1e2777d7..8e57cdaa 100644 --- a/parserInternals.c +++ b/parserInternals.c @@ -1144,6 +1144,8 @@ xmlNextChar(xmlParserCtxtPtr ctxt) c = *cur; if (c & 0x80) { + if (c == 0xC0) + goto encoding_error; if (cur[1] == 0) xmlParserInputGrow(ctxt->input, INPUT_CHUNK); if ((cur[1] & 0xc0) != 0x80) @@ -1290,6 +1292,8 @@ xmlCurrentChar(xmlParserCtxtPtr ctxt, int *len) { c = *cur; if (c & 0x80) { + if (c == 0xC0) + goto encoding_error; if (cur[1] == 0) xmlParserInputGrow(ctxt->input, INPUT_CHUNK); if ((cur[1] & 0xc0) != 0x80)