Selaa lähdekoodia

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

Dan Klishch 1 vuosi sitten
vanhempi
commit
2a2e31f2ed
1 muutettua tiedostoa jossa 1 lisäystä ja 1 poistoa
  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 };
     };