From 4778912624f2e471fe393b283b450d3b6b468d73 Mon Sep 17 00:00:00 2001 From: "U. Bruhin" Date: Thu, 20 Mar 2025 00:28:26 +0100 Subject: [PATCH 1/2] CI: Update MacOS 12 job to MacOS 13 --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5c4de5c..fd97328 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -89,7 +89,7 @@ jobs: matrix: include: # Note: Nosetest doesn't work anymore with recent Python versions! - - {qt: "5", runner: "macos-12", nosetests: 0} + - {qt: "5", runner: "macos-13", nosetests: 0} - {qt: "6", runner: "macos-14", nosetests: 0} env: FUNQ_QT_MAJOR_VERSION: "${{ matrix.qt }}" From 130280f45ad93ae7359f35e5f028c91c45d520f6 Mon Sep 17 00:00:00 2001 From: "U. Bruhin" Date: Wed, 19 Mar 2025 18:26:15 +0100 Subject: [PATCH 2/2] Windows: Fix error handling for CreateRemoteThread() The function may return None, which then fails to format it as HEX in the error message. --- server/funq_server/runner_win.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/server/funq_server/runner_win.py b/server/funq_server/runner_win.py index bfab975..2a96f8d 100644 --- a/server/funq_server/runner_win.py +++ b/server/funq_server/runner_win.py @@ -215,8 +215,13 @@ def _raise_windows_error(self, function_name, return_value): """ last_error = ctypes.get_last_error() win_error = ctypes.WinError(last_error) + try: + # Try formatting as hex. + return_value = "{} (0x{:X})".format(return_value, return_value) + except TypeError: + pass message = "Failed to inject DLL! " - message += "{} returned 0x{:X}. ".format(function_name, return_value) + message += "{} returned {}. ".format(function_name, return_value) message += "The last error is 0x{:X} ({}). ".format( last_error, str(win_error)) message += "Maybe x86/x64 mismatch between python.exe and Qt DLLs?"