Details
-
Bug
-
Resolution: Done
-
Major
-
9.0.0.CR2
-
None
Description
Decoder2x.readOptionalParams() calls buffer.markReaderIndex() after reading each parameter, but doesn't save the parameters anywhere. That means if the buffer doesn't contain all the parameters, the decode pass ends unsuccessfully, and the next decode pass doesn't see the parameters read by the previous pass.
Higher-level methods like Decoder2x.readMaybeNamedFactory() also call readOptionalParams() without saving their own state first, meaning their state can be lost as well.