Conversation
Fix stream listpack decoding when an entry has a different number of fields than the master entry. The master field count was mutated, breaking subsequent samefields entries (ArrayIndexOutOfBoundsException / NumberFormatException). Fixes leonchen83#124 Reproduce: XADD order_events * order_id 1001 status waiting amount 99 XADD order_events * order_id 1002 status waiting amount 50 XADD order_events * order_id 1003 status processing amount 80 # 4 fields -> differs from master -> corrupts field count XADD order_events * order_id 1004 status refunded amount 99 reason user_canceled # 3 fields -> samefields again -> crashes XADD order_events * order_id 1005 status done amount 88 XADD order_events * order_id 1006 status waiting amount 120 ./bin/rct -f mem -s /data/dump.rdb -o memory_1.csv
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fix stream listpack decoding when an entry has a different number of fields than the master entry. The master field count was mutated, breaking subsequent samefields entries (ArrayIndexOutOfBoundsException / NumberFormatException).
Fixes #124
Reproduce:
XADD order_events * order_id 1001 status waiting amount 99
XADD order_events * order_id 1002 status waiting amount 50
XADD order_events * order_id 1003 status processing amount 80
// 4 fields -> differs from master -> corrupts field count
XADD order_events * order_id 1004 status refunded amount 99 reason user_canceled
// 3 fields -> samefields again -> crashes
XADD order_events * order_id 1005 status done amount 88
XADD order_events * order_id 1006 status waiting amount 120
./bin/rct -f mem -s /data/dump.rdb -o memory_1.csv