diff options
author | James Prestwood <prestwoj@gmail.com> | 2024-03-01 11:40:56 -0800 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2024-03-11 22:08:26 -0500 |
commit | 6bedcb4622fbec92dc74b03ba1c2d8f78a260792 (patch) | |
tree | c6aa380cf644e1df05268e2c5dc84268421e9e80 | |
parent | 121c2c5653ce8a51a02cff7d2ce348a9546f9e2c (diff) |
client: fix two issues caught by static analysis
- va_end was not being called on an error condition
- An uninitialized struct was being accessed if ioctl failed
-rw-r--r-- | client/display.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/client/display.c b/client/display.c index 628b59125..f0f3282ac 100644 --- a/client/display.c +++ b/client/display.c @@ -230,7 +230,8 @@ static void display_refresh_check_feasibility(void) { const struct winsize ws; - ioctl(STDOUT_FILENO, TIOCGWINSZ, &ws); + if (ioctl(STDOUT_FILENO, TIOCGWINSZ, &ws) < 0) + return; if (ws.ws_col < LINE_LEN - 1) { if (display_refresh.enabled) { @@ -564,8 +565,6 @@ void display_table_row(const char *margin, unsigned int ncolumns, ...) str += entry_append(e, str); } - va_end(va); - display("%s\n", buf); str = buf; @@ -591,6 +590,8 @@ void display_table_row(const char *margin, unsigned int ncolumns, ...) } done: + va_end(va); + for (i = 0; i < ncolumns; i++) { if (entries[i].color) l_free(entries[i].color); |