diff --git a/src/main/java/org/olat/ims/qti21/pool/QTI12To21HtmlHandler.java b/src/main/java/org/olat/ims/qti21/pool/QTI12To21HtmlHandler.java index f1b086190d8fc49ba668aaf92089390bd664cda7..f8d2786d662d69354cad6e24ff944a7338a485e7 100644 --- a/src/main/java/org/olat/ims/qti21/pool/QTI12To21HtmlHandler.java +++ b/src/main/java/org/olat/ims/qti21/pool/QTI12To21HtmlHandler.java @@ -48,7 +48,7 @@ class QTI12To21HtmlHandler extends DefaultHandler { private final XMLStreamWriter xtw; private int subLevel = 0; - private Deque<String> skipTags = new ArrayDeque<String>(); + private Deque<String> skipTags = new ArrayDeque<>(); private Map<String,String> materialsMapping = new HashMap<>(); private boolean envelopP = false; @@ -157,6 +157,9 @@ class QTI12To21HtmlHandler extends DefaultHandler { if(start < 0) { start = 0;//Bug neko } + if(start + length > ch.length) { + length = ch.length - start;// Make sure the length is correct + } xtw.writeCharacters(ch, start, length); } else { xtw.writeCharacters(ch, start, length);