C++: Limit SEH exception edges to calls in __try blocks

This commit is contained in:
Jeroen Ketema
2025-06-13 20:34:35 +02:00
parent c7a7447768
commit 4a42ca8c69
3 changed files with 96 additions and 158 deletions

View File

@@ -364,7 +364,7 @@ class TranslatedFunctionCall extends TranslatedCallExpr, TranslatedDirectCall {
final override predicate mayThrowException(ExceptionEdge e) {
this.mustThrowException(e)
or
expr.getEnclosingStmt().getParentStmt*() instanceof MicrosoftTryStmt and
exists(MicrosoftTryStmt tryStmt | tryStmt.getStmt().getAChild*() = expr) and
e instanceof SehExceptionEdge
}