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

Make RLP libraries unchecked regions consistent

parent 73e080c2
...@@ -592,8 +592,11 @@ library Lib_RLPReader { ...@@ -592,8 +592,11 @@ 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 { assembly {
mstore( mstore(
dest, dest,
...@@ -603,10 +606,8 @@ library Lib_RLPReader { ...@@ -603,10 +606,8 @@ library Lib_RLPReader {
) )
) )
} }
return out; return out;
} }
}
/** /**
* Copies an RLP item into bytes. * Copies an RLP item into bytes.
......
...@@ -227,15 +227,16 @@ library Lib_RLPWriter { ...@@ -227,15 +227,16 @@ library Lib_RLPWriter {
src += 32; src += 32;
} }
uint256 mask;
unchecked { unchecked {
uint256 mask = 256 ** (32 - len) - 1; mask = 256 ** (32 - len) - 1;
}
assembly { assembly {
let srcpart := and(mload(src), not(mask)) let srcpart := and(mload(src), not(mask))
let destpart := and(mload(dest), mask) let destpart := and(mload(dest), mask)
mstore(dest, or(destpart, srcpart)) mstore(dest, or(destpart, srcpart))
} }
} }
}
/** /**
* Flattens a list of byte strings into one byte string. * Flattens a list of byte strings into one byte string.
......
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