[clang] [clang][analyzer] fix crash when modelling 'getline' function in checkers (PR #145229)

Balazs Benics via cfe-commits cfe-commits at lists.llvm.org
Tue Jun 24 10:12:46 PDT 2025


================
@@ -1518,14 +1518,19 @@ void MallocChecker::checkGetdelim(ProgramStateRef State, const CallEvent &Call,
   if (!CE)
     return;
 
-  const auto LinePtr =
-      getPointeeVal(Call.getArgSVal(0), State)->getAs<DefinedSVal>();
-  const auto Size =
-      getPointeeVal(Call.getArgSVal(1), State)->getAs<DefinedSVal>();
-  if (!LinePtr || !Size || !LinePtr->getAsRegion())
+  const auto LinePtrOpt = getPointeeVal(Call.getArgSVal(0), State);
+  const auto SizeOpt = getPointeeVal(Call.getArgSVal(1), State);
+  if (!LinePtrOpt || !SizeOpt || LinePtrOpt->isUnknownOrUndef() ||
+      SizeOpt->isUnknownOrUndef())
----------------
steakhal wrote:

What makes sure that we have at least 2 arguments?

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


More information about the cfe-commits mailing list