From 3660229219c12d5a44f8539d25fb5c428480ce3f Mon Sep 17 00:00:00 2001 From: Nick Wellnhofer Date: Sun, 26 Mar 2023 14:11:31 +0200 Subject: [PATCH] parser: Fix buffer overread in xmlDetectEBCDIC Short-lived regression found by OSS-Fuzz. --- parserInternals.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/parserInternals.c b/parserInternals.c index 52491505..8dc6005e 100644 --- a/parserInternals.c +++ b/parserInternals.c @@ -1003,11 +1003,12 @@ xmlDetectEBCDIC(xmlParserInputPtr input) { handler = xmlGetCharEncodingHandler(XML_CHAR_ENCODING_EBCDIC); if (handler == NULL) return(NULL); - outlen = sizeof(out); + outlen = sizeof(out) - 1; inlen = input->end - input->cur; res = xmlEncInputChunk(handler, out, &outlen, input->cur, &inlen, 0); if (res < 0) return(handler); + out[outlen] = 0; for (i = 0; i < outlen; i++) { if (out[i] == '>')