rmraya / OpenXLIFF

An open source set of Java filters for creating, merging and validating XLIFF 1.2, 2.0 and 2.1 files.
https://www.maxprograms.com/products/openxliff.html
Eclipse Public License 1.0
65 stars 17 forks source link

StackOverflowException when exporting XLIFF and there is a link inside a list item pointing to itself #30

Closed sorincarbunaru closed 6 months ago

sorincarbunaru commented 6 months ago

Actually inside the list item there are 2 paragraphs, and at some point in the second paragraph there is a cross reference pointing to the first one. I attached a minimal sample: testFluenta.zip.

The error is the following:

Exception in thread "Thread-35" java.lang.StackOverflowError
        at java.base/java.lang.RuntimeException.<init>(RuntimeException.java:52)
        at java.base/java.lang.IllegalArgumentException.<init>(IllegalArgumentException.java:40)
        at java.base/java.util.regex.PatternSyntaxException.<init>(PatternSyntaxException.java:58)
        at java.base/java.util.regex.Pattern.error(Pattern.java:2028)
        at java.base/java.util.regex.Pattern.<init>(Pattern.java:1432)
        at java.base/java.util.regex.Pattern.compile(Pattern.java:1069)
        at java.base/java.lang.String.split(String.java:3155)
        at java.base/java.lang.String.split(String.java:3201)
        at com.maxprograms.converters.ditamap.DitaParser.ditaClass(Unknown Source)
        at com.maxprograms.converters.ditamap.DitaParser.recurse(Unknown Source)
        at com.maxprograms.converters.ditamap.DitaParser.recurse(Unknown Source)
        at com.maxprograms.converters.ditamap.DitaParser.recurse(Unknown Source)
        at com.maxprograms.converters.ditamap.DitaParser.recurse(Unknown Source)
        at com.maxprograms.converters.ditamap.DitaParser.recurse(Unknown Source)
        at com.maxprograms.converters.ditamap.DitaParser.recurse(Unknown Source)
        at com.maxprograms.converters.ditamap.DitaParser.recurse(Unknown Source)
        at com.maxprograms.converters.ditamap.DitaParser.recurse(Unknown Source)
        at com.maxprograms.converters.ditamap.DitaParser.recurse(Unknown Source)
        at com.maxprograms.converters.ditamap.DitaParser.recurse(Unknown Source)
        at com.maxprograms.converters.ditamap.DitaParser.recurse(Unknown Source)
        at com.maxprograms.converters.ditamap.DitaParser.recurse(Unknown Source)
        at com.maxprograms.converters.ditamap.DitaParser.recurse(Unknown Source)
        at com.maxprograms.converters.ditamap.DitaParser.recurse(Unknown Source)
        at com.maxprograms.converters.ditamap.DitaParser.recurse(Unknown Source)
        at com.maxprograms.converters.ditamap.DitaParser.recurse(Unknown Source)
        at com.maxprograms.converters.ditamap.DitaParser.recurse(Unknown Source)
rmraya commented 6 months ago

Cannot reproduce. Works fine for me.

rmraya commented 6 months ago

TestMap.ditamap.xlf.zip