diff options
Diffstat (limited to 'src/message.cpp')
-rw-r--r-- | src/message.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/message.cpp b/src/message.cpp index 30abd9c..23ec823 100644 --- a/src/message.cpp +++ b/src/message.cpp @@ -136,7 +136,7 @@ static std::uint8_t const * decode( std::uint8_t const * len_start = pos; pos = varint_skip(pos, end); std::size_t len = varint_decode<std::size_t>(len_start, pos); - if (len > end - pos) return end; + if (len + pos > end) return end; value = pos; value_length = len; pos += len; @@ -157,7 +157,7 @@ static std::uint8_t const * skip_unknown( std::uint8_t const * len_start = pos; pos = varint_skip(pos, end); std::size_t len = varint_decode<std::size_t>(len_start, pos); - if (len > end - pos) return end; + if (len + pos > end) return end; pos += len; } else { return end; |