diff options
author | Daniel Eklöf <daniel@ekloef.se> | 2019-06-05 18:26:12 +0200 |
---|---|---|
committer | Brian Ashworth <bosrsf04@gmail.com> | 2019-06-05 14:40:29 -0400 |
commit | b4b274cdcea5269fc39ef9c846157d211f79eec9 (patch) | |
tree | bc58e4b6615053bdabececbb959b595d011e520d /swaybar/input.c | |
parent | swaybar/nag: use xcursor theme defined by XCURSOR_THEME/SIZE (diff) | |
download | sway-b4b274cdcea5269fc39ef9c846157d211f79eec9.tar.gz sway-b4b274cdcea5269fc39ef9c846157d211f79eec9.tar.zst sway-b4b274cdcea5269fc39ef9c846157d211f79eec9.zip |
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 (limited to 'swaybar/input.c')
-rw-r--r-- | swaybar/input.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/swaybar/input.c b/swaybar/input.c index 8a83f38f..8b83eab4 100644 --- a/swaybar/input.c +++ b/swaybar/input.c | |||
@@ -70,10 +70,11 @@ void update_cursor(struct swaybar_seat *seat) { | |||
70 | const char *cursor_theme = getenv("XCURSOR_THEME"); | 70 | const char *cursor_theme = getenv("XCURSOR_THEME"); |
71 | unsigned cursor_size = 24; | 71 | unsigned cursor_size = 24; |
72 | const char *env_cursor_size = getenv("XCURSOR_SIZE"); | 72 | const char *env_cursor_size = getenv("XCURSOR_SIZE"); |
73 | if (env_cursor_size) { | 73 | if (env_cursor_size && strlen(env_cursor_size) > 0) { |
74 | errno = 0; | ||
74 | char *end; | 75 | char *end; |
75 | unsigned size = strtoul(env_cursor_size, &end, 10); | 76 | unsigned size = strtoul(env_cursor_size, &end, 10); |
76 | if (!*end) { | 77 | if (!*end && errno == 0) { |
77 | cursor_size = size; | 78 | cursor_size = size; |
78 | } | 79 | } |
79 | } | 80 | } |