From 6550d807ccf7149286b03083590d3f1c12141a32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Andr=C3=A9=20Tanner?= Date: Thu, 8 Oct 2015 08:55:05 +0200 Subject: ui: fix ressource leak (CID 114606) --- ui-curses.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'ui-curses.c') diff --git a/ui-curses.c b/ui-curses.c index b2fd099..999da1b 100644 --- a/ui-curses.c +++ b/ui-curses.c @@ -580,10 +580,8 @@ Ui *ui_curses_new(Color *colors) { Ui *ui = (Ui*)uic; if (!uic) return NULL; - if (!(uic->termkey = termkey_new(STDIN_FILENO, TERMKEY_FLAG_UTF8))) { - ui_curses_free(ui); - return NULL; - } + if (!(uic->termkey = termkey_new(STDIN_FILENO, TERMKEY_FLAG_UTF8))) + goto err; setlocale(LC_CTYPE, ""); if (!getenv("ESCDELAY")) @@ -592,7 +590,7 @@ Ui *ui_curses_new(Color *colors) { if (!term) term = "xterm"; if (!newterm(term, stderr, stdin)) - return NULL; + goto err; start_color(); use_default_colors(); raw(); @@ -646,6 +644,9 @@ Ui *ui_curses_new(Color *colors) { ui_resize(ui); return ui; +err: + ui_curses_free(ui); + return NULL; } void ui_curses_free(Ui *ui) { -- cgit v1.2.3