Details
-
Bug
-
Status: Resolved
-
Urgent
-
Resolution: Fixed
-
None
-
Correctness - Transient Incorrect Response
-
Critical
-
Challenging
-
Fuzz Test
Description
OldFormatDeserializer’s hasNext() method can and will consume two Unfiltered from the underlying iterator in some scenarios - intentionally.
But in doing that it’s losing intermediate state of lastConsumedPosition. If that last block, when iterating backwards, only has two Unfiltered, the first one will be returned, and the last one won’t as the reverse iterator would incorrectly things that the deserisalizer is past the index block, despite still having one Unfiltered unreturned.