main: free 'cwd' at exit

This fixes an issue where e.g. failing to initialize the Wayland
backend would leave cwd un-free:d
This commit is contained in:
Daniel Eklöf 2020-07-13 14:17:55 +02:00
parent ed620f1854
commit 74c3b4be1a
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F

3
main.c
View file

@ -403,10 +403,10 @@ main(int argc, char *const *argv)
if (!as_server && (term = term_init(
&conf, fdm, reaper, wayl, "foot", cwd, argc, argv,
&term_shutdown_cb, &shutdown_ctx)) == NULL) {
free(cwd);
goto out;
}
free(cwd);
cwd = NULL;
if (as_server && (server = server_init(&conf, fdm, reaper, wayl)) == NULL)
goto out;
@ -439,6 +439,7 @@ main(int argc, char *const *argv)
ret = aborted || tll_length(wayl->terms) == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
out:
free(cwd);
server_destroy(server);
term_destroy(term);