rlp: decode long hex #46
Merged
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.
Hi, I found that RLP decoding fails when parsing long encoded string, so I modified the
eth_rlp_len
function and unit-tested it with an EIP-1559 transaction. It seems to be working fine.But there are two things I'm not sure about:
eth_rlp_array
andeth_rlp_bytes
, the checking of base values is removed. Maybe the better way is to check all possible values?eth_rlp_hex
andeth_rlp_uint8/16/32/64
, the default value of 0 is returned whenblen
is 0 (i.e.0x80
).Besides, a free issue that could lead to memory leaks is fixed.
Please review the PR and feel free to comment. I'll fix it as soon as possible.