================
@@ -763,6 +779,11 @@ void StreamChecker::evalFreadFwrite(const FnDescription 
*Desc,
     return;
   }
 
+  // At read, invalidate the buffer in any case of error or success,
+  // except if EOF was already present.
+  if (IsFread && (OldSS->ErrorState != ErrorFEof))
+    State = escapeArgs(State, C, Call, {0});
----------------
balazske wrote:

The current solution invalidates the whole buffer (if I think correctly) 
because the `SVal` of the buffer is passed to `invalidateRegions`. Is there a 
solution to invalidate a partial buffer (of specific size)?

https://github.com/llvm/llvm-project/pull/79470
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to