C++: Also generate an SEH edge for calls in initializers

This commit is contained in:
Jeroen Ketema
2025-06-14 00:16:47 +02:00
parent 815ae37a7e
commit 1b2813dcf6
4 changed files with 61 additions and 20 deletions

View File

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