Browse Source

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

Dan Klishch 1 year ago
parent
commit
2a2e31f2ed
1 changed files with 1 additions and 1 deletions
  1. 1 1
      Userland/Libraries/LibCrypto/BigFraction/BigFraction.cpp

+ 1 - 1
Userland/Libraries/LibCrypto/BigFraction/BigFraction.cpp

@@ -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 };
     };