Handle getting out-of-bounds bits in get_bit (#574)

The binary state is not padded with zeroes, so they must be inferred.
This commit is contained in:
Jude Melton-Houghton 2021-08-02 15:33:45 -04:00 committed by GitHub
parent db5879706d
commit e15c55c066
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -164,7 +164,9 @@ end
function mesecon.get_bit(binary,bit) function mesecon.get_bit(binary,bit)
bit = bit or 1 bit = bit or 1
local c = binary:len()-(bit-1) local len = binary:len()
if bit > len then return false end
local c = len-(bit-1)
return binary:sub(c,c) == "1" return binary:sub(c,c) == "1"
end end