aboutsummaryrefslogtreecommitdiff
path: root/swaybar/tray/icon.c
diff options
context:
space:
mode:
authorStephan Hilb <stephan@ecshi.net>2019-03-13 21:32:02 +0100
committerDrew DeVault <sir@cmpwn.com>2019-03-13 22:04:04 -0600
commitd64e8ba9469f4fa0ff693a22c88c1afa687c4c6c (patch)
tree19265f09979b0990599ac11087438d3dde706a27 /swaybar/tray/icon.c
parentacdb4ed7a32a7cefd4ac37190ba65d33d752bee0 (diff)
swaybar: fix loading of malformed icon theme
If the icon index.theme contained a key-value pair without a preceding group header, entry_handler() would be called with a zero pointer and lead to a segfault. Set the error flag and break on such malformed files.
Diffstat (limited to 'swaybar/tray/icon.c')
-rw-r--r--swaybar/tray/icon.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/swaybar/tray/icon.c b/swaybar/tray/icon.c
index 2276e36d..8587f3f7 100644
--- a/swaybar/tray/icon.c
+++ b/swaybar/tray/icon.c
@@ -243,6 +243,10 @@ static struct icon_theme *read_theme_file(char *basedir, char *theme_name) {
free(group);
group = strdup(&line[1]);
} else { // key-value pair
+ if (!group) {
+ error = true;
+ break;
+ }
// check well-formed
int eok = 0;
for (; isalnum(line[eok]) || line[eok] == '-'; ++eok) {} // TODO locale?