]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.14] gh-134064: Fix sys.remote_exec() error checking (GH-134067) (#134162)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Sat, 17 May 2025 22:50:00 +0000 (00:50 +0200)
committerGitHub <noreply@github.com>
Sat, 17 May 2025 22:50:00 +0000 (22:50 +0000)
gh-134064: Fix sys.remote_exec() error checking (GH-134067)
(cherry picked from commit 009e7b36981fd07f7cca1fdcfcf172ce1584fac7)

Co-authored-by: Victor Stinner <vstinner@python.org>
Lib/test/test_sys.py
Python/sysmodule.c

index 8af2e3488b48d949456054a873161743c6e1fec3..fb1c8492a64d38f545d6584f1d676194d80fd445 100644 (file)
@@ -2176,6 +2176,13 @@ raise Exception("Remote script exception")
         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 = '''
index b46c2ab7c4483dd2547343dedfb28e4becf7688f..8692caa238a64d9439005230db7449996637d323 100644 (file)
@@ -2484,7 +2484,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);