[ 
https://issues.apache.org/jira/browse/XMLBEANS-641?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17771366#comment-17771366
 ] 

PJ Fanning commented on XMLBEANS-641:
-------------------------------------

I think it is worthwhile to replace some of the asserts with more verbose `if` 
and `throw` code blocks for scenarios where things are wrong. It may not be a 
good idea to change all the `assert`s. We need regression tests too - maybe 
something based on the fuzzing scenario.

> Fuzzing XMLBeans triggers an assert() for an input-file via Apache POI
> ----------------------------------------------------------------------
>
>                 Key: XMLBEANS-641
>                 URL: https://issues.apache.org/jira/browse/XMLBEANS-641
>             Project: XMLBeans
>          Issue Type: Bug
>            Reporter: Dominik Stadler
>            Priority: Major
>
> Fuzzing Apache POI via oss-fuzz shows the following assert() being triggered 
> via an input-file.
>  
> Would be good to convert to IllegalArgumentException or IllegalStateException 
> so that fuzzy testing can continue to flag other places where assert() is 
> used incorrectly.
>  
> {code:java}
>  at org.apache.xmlbeans.impl.store.Saver$TextSaver.emitName(Saver.java:1099)
>  at org.apache.xmlbeans.impl.store.Saver$TextSaver.emitElement(Saver.java:894)
>  at org.apache.xmlbeans.impl.store.Saver.processElement(Saver.java:461)
>  at org.apache.xmlbeans.impl.store.Saver.process(Saver.java:291)
>  at org.apache.xmlbeans.impl.store.Saver$TextSaver.write(Saver.java:1696)
>  at 
> org.apache.xmlbeans.impl.store.Saver$InputStreamSaver.ensure(Saver.java:2348)
>  at 
> org.apache.xmlbeans.impl.store.Saver$InputStreamSaver.access$200(Saver.java:2234)
>  at 
> org.apache.xmlbeans.impl.store.Saver$InputStreamSaver$OutputStreamImpl.read(Saver.java:2393)
>  at 
> org.apache.xmlbeans.impl.store.Saver$InputStreamSaver.lambda$read$0(Saver.java:2332)
>  at org.apache.xmlbeans.impl.store.Saver.syncWrap(Saver.java:2184)
>  at org.apache.xmlbeans.impl.store.Saver.access$000(Saver.java:33)
>  at 
> org.apache.xmlbeans.impl.store.Saver$InputStreamSaver.read(Saver.java:2332)
>  at java.base/java.io.InputStream.read(InputStream.java:218)
>  at org.apache.xmlbeans.impl.store.Cursor._save(Cursor.java:570)
>  at org.apache.xmlbeans.impl.store.Cursor.lambda$save$17(Cursor.java:2006)
>  at org.apache.xmlbeans.impl.store.Cursor.syncWrapHelper(Cursor.java:2551)
>  at org.apache.xmlbeans.impl.store.Cursor.syncWrapIOEx(Cursor.java:2504)
>  at org.apache.xmlbeans.impl.store.Cursor.save(Cursor.java:2006)
>  at org.apache.xmlbeans.impl.values.XmlObjectBase.save(XmlObjectBase.java:190)
>  at org.apache.poi.xwpf.usermodel.XWPFTheme.commit(XWPFTheme.java:178)
>  at 
> org.apache.poi.ooxml.POIXMLDocumentPart.onSave(POIXMLDocumentPart.java:467)
>  at 
> org.apache.poi.ooxml.POIXMLDocumentPart.onSave(POIXMLDocumentPart.java:472)
>  at org.apache.poi.ooxml.POIXMLDocument.write(POIXMLDocument.java:221){code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@poi.apache.org
For additional commands, e-mail: dev-h...@poi.apache.org

Reply via email to