diff options
author | F. Eugene Aumson <gene@aumson.org> | 2018-08-31 21:22:05 +0800 |
---|---|---|
committer | F. Eugene Aumson <gene@aumson.org> | 2018-08-31 21:22:05 +0800 |
commit | 72419816a88d6afcf8727cefe69e3a2fbe479f55 (patch) | |
tree | 076252c005a879c4ea122d467348d1097e41a574 /packages/contracts/src/2.0.0/utils/LibBytes/LibBytes.sol | |
parent | 9a4e6da02f606e97b470a6545b2ce5baf14b03e6 (diff) | |
parent | 675964dc5c6c44eb07023fd036857ecd3f14dcf3 (diff) | |
download | dexon-sol-tools-72419816a88d6afcf8727cefe69e3a2fbe479f55.tar dexon-sol-tools-72419816a88d6afcf8727cefe69e3a2fbe479f55.tar.gz dexon-sol-tools-72419816a88d6afcf8727cefe69e3a2fbe479f55.tar.bz2 dexon-sol-tools-72419816a88d6afcf8727cefe69e3a2fbe479f55.tar.lz dexon-sol-tools-72419816a88d6afcf8727cefe69e3a2fbe479f55.tar.xz dexon-sol-tools-72419816a88d6afcf8727cefe69e3a2fbe479f55.tar.zst dexon-sol-tools-72419816a88d6afcf8727cefe69e3a2fbe479f55.zip |
Merge remote-tracking branch 'upstream/development' into sol-doc
Diffstat (limited to 'packages/contracts/src/2.0.0/utils/LibBytes/LibBytes.sol')
-rw-r--r-- | packages/contracts/src/2.0.0/utils/LibBytes/LibBytes.sol | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/packages/contracts/src/2.0.0/utils/LibBytes/LibBytes.sol b/packages/contracts/src/2.0.0/utils/LibBytes/LibBytes.sol index 504e950a8..93873cbcc 100644 --- a/packages/contracts/src/2.0.0/utils/LibBytes/LibBytes.sol +++ b/packages/contracts/src/2.0.0/utils/LibBytes/LibBytes.sol @@ -467,8 +467,13 @@ library LibBytes { b.length >= index + 4, "GREATER_OR_EQUAL_TO_4_LENGTH_REQUIRED" ); + + // Arrays are prefixed by a 32 byte length field + index += 32; + + // Read the bytes4 from array memory assembly { - result := mload(add(b, 32)) + result := mload(add(b, index)) // Solidity does not require us to clean the trailing bytes. // We do it anyway result := and(result, 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000) |