From a14dd2e94d5d66b49fc85d09a517bc57bfe989a9 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Thu, 15 May 2025 21:57:50 +0200 Subject: [PATCH] gh-134064: Fix sys.remote_exec() error checking --- Lib/test/test_sys.py | 7 +++++++ Python/sysmodule.c | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Lib/test/test_sys.py b/Lib/test/test_sys.py index 8af2e3488b48d94..fb1c8492a64d38f 100644 --- a/Lib/test/test_sys.py +++ b/Lib/test/test_sys.py @@ -2176,6 +2176,13 @@ def test_remote_exec_invalid_pid(self): with self.assertRaises(OSError): sys.remote_exec(99999, "print('should not run')") + def test_remote_exec_invalid_script(self): + """Test remote exec with invalid script type""" + with self.assertRaises(TypeError): + sys.remote_exec(0, None) + with self.assertRaises(TypeError): + sys.remote_exec(0, 123) + def test_remote_exec_syntax_error(self): """Test remote exec with syntax error in script""" script = ''' diff --git a/Python/sysmodule.c b/Python/sysmodule.c index dd048205757eb1f..4ed045e3297bbcc 100644 --- a/Python/sysmodule.c +++ b/Python/sysmodule.c @@ -2485,7 +2485,7 @@ sys_remote_exec_impl(PyObject *module, int pid, PyObject *script) PyObject *path; const char *debugger_script_path; - if (PyUnicode_FSConverter(script, &path) < 0) { + if (PyUnicode_FSConverter(script, &path) == 0) { return NULL; } debugger_script_path = PyBytes_AS_STRING(path);