diff --git a/examples/example.c b/examples/example.c index 9d166c8d3..32955ddec 100644 --- a/examples/example.c +++ b/examples/example.c @@ -7,6 +7,9 @@ #endif #include "sentry.h" +#if defined(_WIN32) && !defined(__MINGW32__) && !defined(__MINGW64__) +# include +#endif #include #include #include @@ -502,6 +505,12 @@ trigger_fastfail_crash() RaiseFailFastException(NULL, NULL, 0); } +static void +trigger_invalid_parameter() +{ + _invalid_parameter_noinfo(); +} + #endif #ifdef SENTRY_PLATFORM_AIX @@ -1326,6 +1335,9 @@ main(int argc, char **argv) if (has_arg(argc, argv, "fastfail")) { trigger_fastfail_crash(); } + if (has_arg(argc, argv, "invalid-parameter")) { + trigger_invalid_parameter(); + } if (has_arg(argc, argv, "stack-buffer-overrun")) { trigger_stack_buffer_overrun(); } diff --git a/tests/test_integration_crashpad.py b/tests/test_integration_crashpad.py index d08e7c344..52318f07e 100644 --- a/tests/test_integration_crashpad.py +++ b/tests/test_integration_crashpad.py @@ -425,6 +425,7 @@ def wait_for_no_werfault(timeout=30.0, poll_interval=0.5): (["fastfail"]), (["fastfail", "discarding-before-send"]), (["fastfail", "discarding-on-crash"]), + pytest.param(["invalid-parameter"], id="invalid-parameter"), ], ) def test_crashpad_wer_crash(cmake, httpserver, run_args): diff --git a/tests/test_integration_native.py b/tests/test_integration_native.py index 143e98fa7..d7828645e 100644 --- a/tests/test_integration_native.py +++ b/tests/test_integration_native.py @@ -145,6 +145,11 @@ def test_native_on_crashed_last_run(cmake, httpserver): "crash_arg,exception_code", [ pytest.param("fastfail", STATUS_FAIL_FAST_EXCEPTION, id="fastfail"), + pytest.param( + "invalid-parameter", + STATUS_STACK_BUFFER_OVERRUN, + id="invalid-parameter", + ), pytest.param("heap-corruption", STATUS_HEAP_CORRUPTION, id="heap-corruption"), pytest.param( "stack-buffer-overrun",