Skip to content

Commit

Permalink
Add (failing) test for #465 (waiting for Woodstox fix)
Browse files Browse the repository at this point in the history
  • Loading branch information
cowtowncoder committed Apr 5, 2021
1 parent b0a4d65 commit 8ee537b
Show file tree
Hide file tree
Showing 4 changed files with 77 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -334,6 +334,29 @@ protected String readAll(File f) throws IOException
return sb.toString();
}

protected byte[] readResource(String ref)
{
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
final byte[] buf = new byte[4000];

InputStream in = getClass().getResourceAsStream(ref);
if (in != null) {
try {
int len;
while ((len = in.read(buf)) > 0) {
bytes.write(buf, 0, len);
}
in.close();
} catch (IOException e) {
throw new RuntimeException("Failed to read resource '"+ref+"': "+e);
}
}
if (bytes.size() == 0) {
throw new IllegalArgumentException("Failed to read resource '"+ref+"': empty resource?");
}
return bytes.toByteArray();
}

public String jaxbSerialized(Object ob, Class<?>... classes) throws Exception
{
StringWriter sw = new StringWriter();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

// [dataformat-xml#463]
// (but root cause of https://github.com/FasterXML/woodstox/issues/123)
public class XmlParserErrorHandling463Test extends XmlTestBase
public class Fuzz463_32872_XmlDeclTest extends XmlTestBase
{
private final XmlMapper MAPPER = newMapper();

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package com.fasterxml.jackson.dataformat.xml.failing;

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
import com.fasterxml.jackson.dataformat.xml.XmlTestBase;

public class Fuzz465_32906_CDataReadTest extends XmlTestBase
{
private final XmlMapper MAPPER = newMapper();

public void testIssue465() throws Exception
{
byte[] doc = readResource("/data/fuzz-32906.xml");
JsonNode root = MAPPER.readTree(doc);
assertNotNull(root);
}
}
36 changes: 36 additions & 0 deletions src/test/resources/data/fuzz-32906.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<ue>&gt; <u><_> encoding="1" <u><_> <u><u> d="">=]]<ue>&gt; <u><_> encoding="1" <u><_> <u><uHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH> d="">=]]]<n d="">d="xel<![CDATA[]]]xmlns:]]]]]]]]]]_]]]]]]]]]]]]]]]]]]]]]]]#FIXEDmp;any>
--><![CDATA[<!mln<!NOTATIONa----><!--="2"r]]>xa----><!--<doc>&amp;any>
--><![CDATA[ NMTOKENencoding="1">&
r> <Person>
<FullN <u><u><_> <u><u><? <u> <u><_> <u><u> <u>:::::::::::::::::::::::: <u> <u><_> <u><u> <u> <u><> <u><u> <u> <u><u><_> <u> TA[]]]xmlns:]]]]]]]]]]_]]]]]]]]]]]]]]]]]]]]]]]#FIXEDmp;any>
--><![CDATA[<!mln<!NOTATIONa----><!--="1"r]]>xa----><!--<doc>&amp;any>
--><![CDATA[ NMTOKENencoding="1">&
r> <Person>
<FullN <u><u><_> <u><u><? <u> <u><_> <u><u> <u> <u> <u><_> <u><u> <u> <u><> <u><u> <u> <u><u><_> <u> <u><_> <u><_> <u><u> <u> <u><_>nil <u><u> <u> <u> <u>u> <u><_> <u><_> <u><u> <u> <u><_>nil <u><u> <u> <u> <u><_> <u><u> <u> <u><_> <u><u> <u> <u><u><_> <u> <]>Xa----><!--<doc>&amp;any>
--><![CDATA[:!mml~s9"3doc>&
r> <Person>
<FullN <u><u><_> <u><u><? <u> <u><_> <u><u> <u> <u> <u><_> <u><u> <u> <u><_> <u><u> <u> <u><u><_> <u>:schema_> Ĕ><_> <u><u> <u> <u><_>nil <u><u> <u> <=]]]<n d="">d="xel<]<n d="">d="xel<![CDATA[]]]xmlns:]]]]]]]]]]_]]]]]]]]]]]]]]]]]]]]]]SHIFT_JIS;any>
--><![CDATA[<!mln<!NOTATIONa----><!--="2"r]]>xa----><!--<doc>&amp;any>
--><![CDATA[ NMTOKENencoding="1">&
r> <Person>
<FullN <u><u><_> <u><u><? <u> <u><_> <u><u> <u> <u> <u><_> <u><u> <u> <u><_> <u><u> <u> <u><u><_> <u> <u><_> <u><_> <u><u> <u> <u><_>nil <u><u> <u> <u> <u><_> <u><u> <u> <u><_> <u><u> <u> <u><u><_> <u> <]>xa--<]>xa----><!--<doc>&amp;any>
--><![CDATA[:!mml~s="3doc>&
r> ( <Person>
<FullN <u><u><_> <u><u><? <u> <u><_> <u><u> <u> <u> <u><_> <u><u> <u> <u><<u><_> <u><u> <u> <u><_> <u><u> <u> <u><u><_> <u>:schema_> Ĕ><_> <u><u> <u> <u><_>nil <u><u> <u> <=]]]<n d="">d="xel<]<n d="">d="xel<![CDATA[]]]xmlns:]]]]]]]]]]_]]]]]]]]]]]]]]]]]]]]]]]#F;IXEDmp;any>
--><![CDATA[<!mln<!NOTATIONa----><!--="2"r]]>xa----><!--<doc>&amp;any>
--><![CDATA[ NMTOKENencoding="1">&
r> <Person>
<FullN <u><u><_> <u><u><? <u> <u><_> <u><u> <u> <u> <u><_> <u><u> <u> <u><_> <u><u> <u> <u><u><_> <u> <u><_> <u><_> <u><u> <u> <u><_>nil <u><u> <u> <u> <u><_> <u><u> <u> <u><_> <u><u> <u> <u><u><_> <u> <]>xa--<]>xa----><!--<doc>&amp;any>
--><![CDATA[:!mml~s="3doc>&
r> ( <Person>
<FullN <u><u><_> <u><u>< <u><u> <u> <u><u><_> <u> <u><_> <u><_> <u><u> <u> <u><_>nil <u><u> <u> <u> <u><_> <u><u> <u> <u><_> <u><u> <u> <u><u><_> <u> <]>Xa----><!--<doc>&amp;any>
--><![CDATA[:!mml~s9"3doc>&
r> <Person>
<FullN <u><u><_> <u><u><? <u> <u><_> <u><u> <u> <u> <u><_> <u><u> <u> <u><_> <u><u> <u> <u><u><_> <u>:schema_> Ĕ><_> <u><u> <u> <u><_>nil <u><u> <u> <=]]]<n d="">d="xel<]<n d="">d="xel<![CDATA[]]]xmlns:]]]]]]]]]]_]]]]]]]]]]]]]]]]]]]]]]SHIFT_JIS;any>
--><![CDATA[<!mln<!NOTATIONa----><!--="2"r]]>xa----><!--<doc>&amp;any>
--><![CDATA[ NMTOKENencoding="1">&
r> <Person>
<FullN <u><u><_> <u><u><? <u> <u><_> <u><u> <u> <u> <u><_> <u><u> <u> <u><_> <u><u> <u> <u><u><_> <u> <u><_> <u><_> <u><u> <u> <u><_>nil <u><u> <u> <u> <u><_> <u><u> <u> <u><_> <u><u> <u> <u><u><_> <u> <]>xa--<]>xa----><!--<doc>&amp;any>
--><![CDATA[:!mml~s="3doc>&
r> ( <Person>
<FullN <u><u><_> <u><u><? <u> <u><_> <u><u> <u> <u> <u><_> <u><u> <u> <u><_> <u><u> <u> <u><u><_> <u>:schema_> Ĕ><_> <u><u> <u> <u><_>nil <u><u> <u> <=]]]<n d="">d="xel<!󲯃
Expand Down

0 comments on commit 8ee537b

Please sign in to comment.