sway

i3-compatible Wayland compositor
git clone https://git.awy.one/sway
Log | Files | Refs | README | LICENSE

commit a4d346627cc661f32bc7fb65a43ff19d48b50a96
parent b148da848ae9075822cd8ddd743532f3ce78f923
Author: Ian Fan <ianfan0@gmail.com>
Date:   Sat, 22 Sep 2018 10:57:22 +0100

swaybar: explicitly check return value of getdelim

This prevents an signed-to-unsigned conversion error on buffer_index if
getdelim fails and returns -1, which caused swaybar to try to search the
header for the array and immediately failing

Diffstat:
Mswaybar/status_line.c | 10+++++++---
1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/swaybar/status_line.c b/swaybar/status_line.c @@ -67,9 +67,13 @@ bool status_handle_readable(struct status_line *status) { wl_list_init(&status->blocks); status->tokener = json_tokener_new(); - status->buffer_index = getdelim(&status->buffer, - &status->buffer_size, EOF, status->read); - return i3bar_handle_readable(status); + read_bytes = getdelim(&status->buffer, &status->buffer_size, EOF, status->read); + if (read_bytes > 0) { + status->buffer_index = read_bytes; + return i3bar_handle_readable(status); + } else { + return false; + } } wlr_log(WLR_DEBUG, "Using text protocol.");