[clang] Avoid printing overly large integer. (PR #75902)

Craig Topper via cfe-commits cfe-commits at lists.llvm.org
Sat Dec 23 18:48:07 PST 2023


================
@@ -17132,6 +17132,10 @@ static bool ConvertAPValueToString(const APValue &V, QualType T,
         case BuiltinType::WChar_U: {
           unsigned TyWidth = Context.getIntWidth(T);
           assert(8 <= TyWidth && TyWidth <= 32 && "Unexpected integer width");
+          if (V.getInt() > std::numeric_limits<uint64_t>::max() ||
----------------
topperc wrote:

Also if `V.getInt()` was ever larger than `std::numeric_limits<uint64_t>::max())`, the getZExtValue() call below would trigger an assertion.

https://github.com/llvm/llvm-project/pull/75902


More information about the cfe-commits mailing list