Commit 466bb2b
committed
Do not attempt to decode LP_UNUSED line pointers
We previously called FormatItem on each item even when it was LP_UNUSED.
On x86_64, that was not a problem since the items seen in the test suite
had lp_len == 0, but on big-endian s390x, there are items with a
non-zero length and the decoder would complain about garbage.
"Good" case:
Item 1 -- Length: 0 Offset: 773 (0x0305) Flags: UNUSED
Item 2 -- Length: 0 Offset: 0 (0x0000) Flags: UNUSED
"Bad" case:
Item 1 -- Length: 0 Offset: 0 (0x0000) Flags: UNUSED
Item 2 -- Length: 758 Offset: 0 (0x0000) Flags: UNUSED
Block Id: 0 linp Index: 402 Size: 7936
Has Nulls: 1 Has Varwidths: 1
Error: Index item size difference. Given <758>, Internal <7936>.1 parent 8590294 commit 466bb2b
1 file changed
+7
-7
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1531 | 1531 | | |
1532 | 1532 | | |
1533 | 1533 | | |
1534 | | - | |
| 1534 | + | |
1535 | 1535 | | |
1536 | 1536 | | |
1537 | 1537 | | |
| |||
1584 | 1584 | | |
1585 | 1585 | | |
1586 | 1586 | | |
1587 | | - | |
1588 | | - | |
1589 | | - | |
1590 | 1587 | | |
| 1588 | + | |
| 1589 | + | |
| 1590 | + | |
1591 | 1591 | | |
1592 | 1592 | | |
1593 | 1593 | | |
| |||
1631 | 1631 | | |
1632 | 1632 | | |
1633 | 1633 | | |
1634 | | - | |
| 1634 | + | |
1635 | 1635 | | |
1636 | 1636 | | |
1637 | 1637 | | |
| |||
1660 | 1660 | | |
1661 | 1661 | | |
1662 | 1662 | | |
1663 | | - | |
| 1663 | + | |
1664 | 1664 | | |
1665 | 1665 | | |
1666 | 1666 | | |
| |||
1733 | 1733 | | |
1734 | 1734 | | |
1735 | 1735 | | |
1736 | | - | |
| 1736 | + | |
1737 | 1737 | | |
1738 | 1738 | | |
1739 | 1739 | | |
| |||
0 commit comments