summaryrefslogtreecommitdiffstats
path: root/Modules/posixmodule.c
diff options
context:
space:
mode:
Diffstat (limited to 'Modules/posixmodule.c')
-rw-r--r--Modules/posixmodule.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
index 183e02a..6f77159 100644
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
@@ -7255,8 +7255,12 @@ win32_startfile(PyObject *self, PyObject *args)
Py_BEGIN_ALLOW_THREADS
rc = ShellExecute((HWND)0, NULL, filepath, NULL, NULL, SW_SHOWNORMAL);
Py_END_ALLOW_THREADS
- if (rc <= (HINSTANCE)32)
- return win32_error("startfile", filepath);
+ if (rc <= (HINSTANCE)32) {
+ PyObject *errval = win32_error("startfile", filepath);
+ PyMem_Free(filepath);
+ return errval;
+ }
+ PyMem_Free(filepath);
Py_INCREF(Py_None);
return Py_None;
}