gh-134064: Fix sys.remote_exec() error checking (#134067)

This commit is contained in:
Victor Stinner 2025-05-17 18:24:40 -04:00 committed by GitHub
parent fc7f4c3666
commit 009e7b3698
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 8 additions and 1 deletions

View file

@ -2176,6 +2176,13 @@ raise Exception("Remote script exception")
with self.assertRaises(OSError): with self.assertRaises(OSError):
sys.remote_exec(99999, "print('should not run')") 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): def test_remote_exec_syntax_error(self):
"""Test remote exec with syntax error in script""" """Test remote exec with syntax error in script"""
script = ''' script = '''

View file

@ -2485,7 +2485,7 @@ sys_remote_exec_impl(PyObject *module, int pid, PyObject *script)
PyObject *path; PyObject *path;
const char *debugger_script_path; const char *debugger_script_path;
if (PyUnicode_FSConverter(script, &path) < 0) { if (PyUnicode_FSConverter(script, &path) == 0) {
return NULL; return NULL;
} }
debugger_script_path = PyBytes_AS_STRING(path); debugger_script_path = PyBytes_AS_STRING(path);