sway

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

commit b4b274cdcea5269fc39ef9c846157d211f79eec9
parent 900d3287f9b63df6320fa159aa0a842e8e8afd3d
Author: Daniel Eklöf <daniel@ekloef.se>
Date:   Wed,  5 Jun 2019 18:26:12 +0200

check for empty string before calling strtoul() and check errno

Note: since strtoul() has no real error return code (both 0 and
ULONG_MAX may be returned on both success and failure), set errno=0
before calling strtoul().

Diffstat:
Mswaybar/input.c | 5+++--
Mswaynag/swaynag.c | 5+++--
2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/swaybar/input.c b/swaybar/input.c @@ -70,10 +70,11 @@ void update_cursor(struct swaybar_seat *seat) { const char *cursor_theme = getenv("XCURSOR_THEME"); unsigned cursor_size = 24; const char *env_cursor_size = getenv("XCURSOR_SIZE"); - if (env_cursor_size) { + if (env_cursor_size && strlen(env_cursor_size) > 0) { + errno = 0; char *end; unsigned size = strtoul(env_cursor_size, &end, 10); - if (!*end) { + if (!*end && errno == 0) { cursor_size = size; } } diff --git a/swaynag/swaynag.c b/swaynag/swaynag.c @@ -132,10 +132,11 @@ static void update_cursor(struct swaynag *swaynag) { const char *cursor_theme = getenv("XCURSOR_THEME"); unsigned cursor_size = 24; const char *env_cursor_size = getenv("XCURSOR_SIZE"); - if (env_cursor_size) { + if (env_cursor_size && strlen(env_cursor_size) > 0) { + errno = 0; char *end; unsigned size = strtoul(env_cursor_size, &end, 10); - if (!*end) { + if (!*end && errno == 0) { cursor_size = size; } }