diff options
author | progandy <code@progandy> | 2016-08-04 14:37:54 +0200 |
---|---|---|
committer | progandy <code@progandy> | 2016-08-04 14:37:54 +0200 |
commit | bf4056a2c6e1cdbebe105cd4e80d2843e0030093 (patch) | |
tree | e20308d24c632ab4150ef432adb1428233bbf3bc | |
parent | Merge pull request #830 from acrisci/feature/simplify-set-focus (diff) | |
download | sway-bf4056a2c6e1cdbebe105cd4e80d2843e0030093.tar.gz sway-bf4056a2c6e1cdbebe105cd4e80d2843e0030093.tar.zst sway-bf4056a2c6e1cdbebe105cd4e80d2843e0030093.zip |
common: use strtoul in parse_color to avoid clamp
Some implementations of strtol may clamp the values to LONG_MAX instead of
wrapping around to negative values, so use strtoul instead to parse colors.
-rw-r--r-- | common/util.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/common/util.c b/common/util.c index 86120769..f0b0fdf0 100644 --- a/common/util.c +++ b/common/util.c | |||
@@ -104,7 +104,7 @@ uint32_t parse_color(const char *color) { | |||
104 | sway_log(L_DEBUG, "Invalid color %s, defaulting to color 0xFFFFFFFF", color); | 104 | sway_log(L_DEBUG, "Invalid color %s, defaulting to color 0xFFFFFFFF", color); |
105 | return 0xFFFFFFFF; | 105 | return 0xFFFFFFFF; |
106 | } | 106 | } |
107 | uint32_t res = (uint32_t)strtol(color + 1, NULL, 16); | 107 | uint32_t res = (uint32_t)strtoul(color + 1, NULL, 16); |
108 | if (strlen(color) == 7) { | 108 | if (strlen(color) == 7) { |
109 | res = (res << 8) | 0xFF; | 109 | res = (res << 8) | 0xFF; |
110 | } | 110 | } |