From 1ab5f1576333174095bc7dad4bef7a8576bb29ab Mon Sep 17 00:00:00 2001 From: Fabian-Lars Date: Sun, 23 Feb 2025 18:25:00 +0100 Subject: [PATCH] fix(single-instance): check if pointer is null (#2452) --- .changes/single-instance-nullpointer-deref.md | 5 +++++ plugins/process/permissions/schemas/schema.json | 2 +- plugins/single-instance/src/platform_impl/windows.rs | 5 +++++ 3 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 .changes/single-instance-nullpointer-deref.md diff --git a/.changes/single-instance-nullpointer-deref.md b/.changes/single-instance-nullpointer-deref.md new file mode 100644 index 00000000..7c3e7ea5 --- /dev/null +++ b/.changes/single-instance-nullpointer-deref.md @@ -0,0 +1,5 @@ +--- +single-instance: patch +--- + +Fixed an issue that caused `null pointer dereference occurred` errors on rust nightly. diff --git a/plugins/process/permissions/schemas/schema.json b/plugins/process/permissions/schemas/schema.json index 1243c7d3..95f67149 100644 --- a/plugins/process/permissions/schemas/schema.json +++ b/plugins/process/permissions/schemas/schema.json @@ -322,4 +322,4 @@ ] } } -} +} \ No newline at end of file diff --git a/plugins/single-instance/src/platform_impl/windows.rs b/plugins/single-instance/src/platform_impl/windows.rs index e99f405d..2f6992ee 100644 --- a/plugins/single-instance/src/platform_impl/windows.rs +++ b/plugins/single-instance/src/platform_impl/windows.rs @@ -118,6 +118,11 @@ unsafe extern "system" fn single_instance_window_proc( ) -> LRESULT { let data_ptr = GetWindowLongPtrW(hwnd, GWL_USERDATA) as *mut (AppHandle, Box>); + + if data_ptr.is_null() { + return DefWindowProcW(hwnd, msg, wparam, lparam); + } + let (app_handle, callback) = &mut *data_ptr; match msg {