aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFurkan Sahin <furkan-dev@proton.me>2017-07-14 07:38:41 -0400
committerFurkan Sahin <furkan-dev@proton.me>2017-07-14 07:38:41 -0400
commit532317d0f984604d53edcc409d22722d42ca10ed (patch)
tree0fd4687209366697336ad541928e6b11dfe4bca2
parent3c619d501414a1aef711123af28fbcbd797b82a5 (diff)
parent2b26d324632102f755702e630e89e44d4a99e94b (diff)
Merge pull request #1279 from 4e554c4c/bad_items
Fix name validation in sni_watcher.c
-rw-r--r--swaybar/tray/sni_watcher.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/swaybar/tray/sni_watcher.c b/swaybar/tray/sni_watcher.c
index 388e181d..86453e70 100644
--- a/swaybar/tray/sni_watcher.c
+++ b/swaybar/tray/sni_watcher.c
@@ -150,10 +150,14 @@ static void register_item(DBusConnection *connection, DBusMessage *message) {
sway_log(L_ERROR, "Error parsing method args: %s\n", error.message);
}
- name = strdup(name);
sway_log(L_INFO, "RegisterStatusNotifierItem called with \"%s\"\n", name);
// Don't add duplicate or not real item
+ if (!dbus_validate_bus_name(name, NULL)) {
+ sway_log(L_INFO, "This item is not valid, we cannot keep track of it.");
+ return;
+ }
+
if (list_seq_find(items, (int (*)(const void *, const void *))strcmp, name) != -1) {
return;
}
@@ -161,7 +165,7 @@ static void register_item(DBusConnection *connection, DBusMessage *message) {
return;
}
- list_add(items, name);
+ list_add(items, strdup(name));
item_registered_signal(connection, name);
// It's silly, but xembedsniproxy wants a reply for this function
@@ -184,6 +188,12 @@ static void register_host(DBusConnection *connection, DBusMessage *message) {
sway_log(L_INFO, "RegisterStatusNotifierHost called with \"%s\"\n", name);
// Don't add duplicate or not real host
+ if (!dbus_validate_bus_name(name, NULL)) {
+ sway_log(L_INFO, "This item is not valid, we cannot keep track of it.");
+ return;
+ }
+
+
if (list_seq_find(hosts, (int (*)(const void *, const void *))strcmp, name) != -1) {
return;
}