aboutsummaryrefslogtreecommitdiff
path: root/swaybar/tray/tray.c
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2017-07-13 10:53:54 -0400
committerGitHub <noreply@github.com>2017-07-13 10:53:54 -0400
commite33792e80a095b8619951e8c9c4fa0d16aa4c495 (patch)
tree3ed23fe4384bbc81e2bd9da71a28264aec0742fd /swaybar/tray/tray.c
parent13ed84e8865c02b808444202e6e347d870c5d0e9 (diff)
parent62223e8fbbccac5581da1464081662b44f8a6e03 (diff)
Merge pull request #1276 from 4e554c4c/bad_items
Don't trust SNI names, fixes #1274
Diffstat (limited to 'swaybar/tray/tray.c')
-rw-r--r--swaybar/tray/tray.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/swaybar/tray/tray.c b/swaybar/tray/tray.c
index 7634942a..c1d8dde4 100644
--- a/swaybar/tray/tray.c
+++ b/swaybar/tray/tray.c
@@ -90,9 +90,11 @@ static void get_items_reply(DBusPendingCall *pending, void *_data) {
struct StatusNotifierItem *item = sni_create(name);
- sway_log(L_DEBUG, "Item registered with host: %s", name);
- list_add(tray->items, item);
- dirty = true;
+ if (item) {
+ sway_log(L_DEBUG, "Item registered with host: %s", name);
+ list_add(tray->items, item);
+ dirty = true;
+ }
}
bail:
@@ -141,8 +143,10 @@ static DBusHandlerResult signal_handler(DBusConnection *connection,
if (list_seq_find(tray->items, sni_str_cmp, name) == -1) {
struct StatusNotifierItem *item = sni_create(name);
- list_add(tray->items, item);
- dirty = true;
+ if (item) {
+ list_add(tray->items, item);
+ dirty = true;
+ }
}
return DBUS_HANDLER_RESULT_HANDLED;