浏览代码

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

Dan Klishch 1 年之前
父节点
当前提交
2a2e31f2ed
共有 1 个文件被更改,包括 1 次插入1 次删除
  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 };
     };