Free memory when Main::setup returns an error

This commit is contained in:
Wilson E. Alvarez 2017-08-23 20:54:02 -04:00
parent d9e94fa0c3
commit bd257153dc
2 changed files with 9 additions and 2 deletions

View file

@ -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();

View file

@ -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