aboutsummaryrefslogtreecommitdiff
path: root/swaybar/tray/dbus.c
diff options
context:
space:
mode:
authorCalvin Lee <cyrus296@gmail.com>2017-11-08 12:59:43 -0700
committerCalvin Lee <cyrus296@gmail.com>2017-12-29 12:11:51 -0700
commitb9f36716b52d4566609ac64be88b8a1f65602214 (patch)
tree7ffb59b5c7e9a76c8e739ec56d4692f9e792fd49 /swaybar/tray/dbus.c
parent5c8dc9cb73be8b3fde25475dbc3e5f931f73f642 (diff)
Plug memory `dbus_message_iter_get_signature` leak
Diffstat (limited to 'swaybar/tray/dbus.c')
-rw-r--r--swaybar/tray/dbus.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/swaybar/tray/dbus.c b/swaybar/tray/dbus.c
index 8e719fd9..46a1c807 100644
--- a/swaybar/tray/dbus.c
+++ b/swaybar/tray/dbus.c
@@ -1,5 +1,6 @@
#define _XOPEN_SOURCE 700
#include <stdio.h>
+#include <string.h>
#include <stdlib.h>
#include <stdint.h>
#include <stdbool.h>
@@ -137,6 +138,13 @@ static void dispatch_status(DBusConnection *connection, DBusDispatchStatus new_s
/* Public functions below */
+bool dbus_message_iter_check_signature(DBusMessageIter *iter, const char *sig) {
+ char *msg_sig = dbus_message_iter_get_signature(iter);
+ int result = strcmp(msg_sig, sig);
+ dbus_free(msg_sig);
+ return (result == 0);
+}
+
void dispatch_dbus() {
if (!should_dispatch || !conn) {
return;