mirror of
https://github.com/github/codeql.git
synced 2026-04-24 00:05:14 +02:00
C++: Generate an SEH exception edge for each call inside a SEH block
This commit is contained in:
@@ -361,7 +361,12 @@ class TranslatedFunctionCall extends TranslatedCallExpr, TranslatedDirectCall {
|
||||
not exists(MemberFunction func | expr.getTarget() = func and func.isStatic())
|
||||
}
|
||||
|
||||
final override predicate mayThrowException(ExceptionEdge e) { this.mustThrowException(e) }
|
||||
final override predicate mayThrowException(ExceptionEdge e) {
|
||||
this.mustThrowException(e)
|
||||
or
|
||||
expr.getEnclosingStmt().getParentStmt*() instanceof MicrosoftTryStmt and
|
||||
e instanceof SehExceptionEdge
|
||||
}
|
||||
|
||||
final override predicate mustThrowException(ExceptionEdge e) {
|
||||
expr.getTarget() instanceof AlwaysSehThrowingFunction and
|
||||
|
||||
Reference in New Issue
Block a user