diff options
author | Wilson E. Alvarez <wilson.e.alvarez1@gmail.com> | 2017-08-23 20:54:02 -0400 |
---|---|---|
committer | Wilson E. Alvarez <wilson.e.alvarez1@gmail.com> | 2017-08-25 21:12:19 -0400 |
commit | bd257153dc9748bd9ab3f580437c3a28cc5348ab (patch) | |
tree | 8fb8c8f601bbae139876c2a6c3cd891b30de6d3a | |
parent | d9e94fa0c308f8f157e71fb03bab5834308b56ee (diff) |
Free memory when Main::setup returns an error
-rw-r--r-- | platform/windows/godot_win.cpp | 7 | ||||
-rw-r--r-- | platform/x11/godot_x11.cpp | 4 |
2 files changed, 9 insertions, 2 deletions
diff --git a/platform/windows/godot_win.cpp b/platform/windows/godot_win.cpp index df2d96e516..6f1fb04706 100644 --- a/platform/windows/godot_win.cpp +++ b/platform/windows/godot_win.cpp @@ -136,8 +136,13 @@ int widechar_main(int argc, wchar_t **argv) { Error err = Main::setup(argv_utf8[0], argc - 1, &argv_utf8[1]); - if (err != OK) + if (err != OK) { + for (int i = 0; i < argc; ++i) { + delete[] argv_utf8[i]; + } + delete[] argv_utf8; return 255; + } if (Main::start()) os.run(); diff --git a/platform/x11/godot_x11.cpp b/platform/x11/godot_x11.cpp index 6f418b213f..f02f3cb881 100644 --- a/platform/x11/godot_x11.cpp +++ b/platform/x11/godot_x11.cpp @@ -45,8 +45,10 @@ int main(int argc, char *argv[]) { getcwd(cwd, PATH_MAX); Error err = Main::setup(argv[0], argc - 1, &argv[1]); - if (err != OK) + if (err != OK) { + free(cwd); return 255; + } if (Main::start()) os.run(); // it is actually the OS that decides how to run |