Commit a9fc7310 authored by elenadimitrova's avatar elenadimitrova Committed by Kelvin Fichter

Make RLP libraries unchecked regions consistent

parent 73e080c2
...@@ -592,20 +592,21 @@ library Lib_RLPReader { ...@@ -592,20 +592,21 @@ library Lib_RLPReader {
} }
// Pick out the remaining bytes. // Pick out the remaining bytes.
uint256 mask;
unchecked { unchecked {
uint256 mask = 256 ** (32 - (_length % 32)) - 1; mask = 256 ** (32 - (_length % 32)) - 1;
assembly { }
mstore(
dest,
or(
and(mload(src), not(mask)),
and(mload(dest), mask)
)
)
}
return out; assembly {
mstore(
dest,
or(
and(mload(src), not(mask)),
and(mload(dest), mask)
)
)
} }
return out;
} }
/** /**
......
...@@ -227,13 +227,14 @@ library Lib_RLPWriter { ...@@ -227,13 +227,14 @@ library Lib_RLPWriter {
src += 32; src += 32;
} }
uint256 mask;
unchecked { unchecked {
uint256 mask = 256 ** (32 - len) - 1; mask = 256 ** (32 - len) - 1;
assembly { }
let srcpart := and(mload(src), not(mask)) assembly {
let destpart := and(mload(dest), mask) let srcpart := and(mload(src), not(mask))
mstore(dest, or(destpart, srcpart)) let destpart := and(mload(dest), mask)
} mstore(dest, or(destpart, srcpart))
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment