Removing SEH default case for function calls as the logic to handle SEH is not yet part of the IR generation to make this logic work.

This commit is contained in:
REDMOND\brodes
2024-11-18 14:43:44 -05:00
parent 1c7b5aebb5
commit 792231c949

View File

@@ -1,20 +1,5 @@
import semmle.code.cpp.models.interfaces.Throwing
/**
* The default behavior for Structured Exception Handling (SEH) is
* any function may (conditionally) raise an exception.
* NOTE: this can be overridden by for any specific function to make in
* unconditional or non-throwing. IR generation will enforce
* the most strict interpretation.
*/
class DefaultSehExceptionBehavior extends ThrowingFunction {
DefaultSehExceptionBehavior() { any() }
override predicate raisesException(boolean unconditional) { unconditional = false }
override TSehException getExceptionType() { any() }
}
class WindowsDriverExceptionAnnotation extends ThrowingFunction {
WindowsDriverExceptionAnnotation() {
this.hasGlobalName(["RaiseException", "ExRaiseAccessViolation", "ExRaiseDatatypeMisalignment"])