diff options
Diffstat (limited to 'Modules/main.c')
-rw-r--r-- | Modules/main.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/Modules/main.c b/Modules/main.c index 5c7f7e4..50fecc9 100644 --- a/Modules/main.c +++ b/Modules/main.c @@ -888,13 +888,13 @@ pymain_main(_PyArgv *args) PyInterpreterState *interp; err = pymain_init(args, &interp); if (_Py_INIT_FAILED(err)) { - _Py_ExitInitError(err); + goto exit_init_error; } int exitcode = 0; err = pymain_run_python(interp, &exitcode); if (_Py_INIT_FAILED(err)) { - _Py_ExitInitError(err); + goto exit_init_error; } if (Py_FinalizeEx() < 0) { @@ -910,6 +910,10 @@ pymain_main(_PyArgv *args) } return exitcode; + +exit_init_error: + pymain_free(); + _Py_ExitInitError(err); } |