From fb17be0e9ba1aeae203709593a1add0224ef6db1 Mon Sep 17 00:00:00 2001 From: Cayman Date: Fri, 4 Jan 2019 11:14:27 -0600 Subject: [PATCH] Fix deserialize uint bounds logic Array accesses should be relative to uint byte length, not bit length. --- specs/simple-serialize.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/specs/simple-serialize.md b/specs/simple-serialize.md index 63a4d4e31..e3700a2cd 100644 --- a/specs/simple-serialize.md +++ b/specs/simple-serialize.md @@ -248,10 +248,10 @@ size as the integer length. (e.g. ``uint16 == 2 bytes``) All integers are interpreted as **big endian**. ```python -assert(len(rawbytes) >= current_index + int_size) byte_length = int_size / 8 -new_index = current_index + int_size -return int.from_bytes(rawbytes[current_index:current_index+int_size], 'big'), new_index +new_index = current_index + byte_length +assert(len(rawbytes) >= new_index) +return int.from_bytes(rawbytes[current_index:new_index], 'big'), new_index ``` #### Bool