vis
a vi-like editor based on Plan 9's structural regular expressions
git clone https://9o.is/git/vis.git
commit 3e2b6c41b98871f8913b6379231878a073dca9be parent 50f08b08021287874216a44ea69fe43344e4ed4b Author: Marc André Tanner <mat@brain-dump.org> Date: Thu, 8 Oct 2015 08:55:05 +0200 ui: fix ressource leak (CID 114606) Diffstat:
| M | ui-curses.c | | | 11 | ++++++----- |
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git 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) {