LibCrypto: Avoid UB in BigFraction::to_byte_string for 0/x fractions

This commit is contained in:
Dan Klishch 2024-02-08 14:39:26 -05:00 committed by Andrew Kaster
parent bd26e5dce9
commit 2a2e31f2ed

View file

@ -213,7 +213,7 @@ ByteString BigFraction::to_byte_string(unsigned rounding_threshold) const
auto const remove_trailing_zeros = [](StringView value) -> StringView {
auto n = value.length();
VERIFY(n > 0);
while (value.characters_without_null_termination()[n - 1] == '0')
while (n > 0 && value.characters_without_null_termination()[n - 1] == '0')
--n;
return { value.characters_without_null_termination(), n };
};