summaryrefslogtreecommitdiff
path: root/atspi/atspi-event-listener.c
diff options
context:
space:
mode:
authorMike Gorse <mgorse@suse.com>2012-12-04 23:54:55 -0600
committerMike Gorse <mgorse@suse.com>2012-12-04 23:54:55 -0600
commit8a003957693f41d75e6291342a1b16434677f027 (patch)
tree114477a947372e5978104fba773fa9769c40e01a /atspi/atspi-event-listener.c
parent7066928c09f14bbe9b0a49f526769d75fc44ef16 (diff)
downloadat-spi2-core-8a003957693f41d75e6291342a1b16434677f027.tar.gz
Fix a crash when parsing events
If an event listener specifies a detail for an event, but an event arrives with an empty detail, then libatspi might crash.
Diffstat (limited to 'atspi/atspi-event-listener.c')
-rw-r--r--atspi/atspi-event-listener.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/atspi/atspi-event-listener.c b/atspi/atspi-event-listener.c
index 91520540..bd8da502 100644
--- a/atspi/atspi-event-listener.c
+++ b/atspi/atspi-event-listener.c
@@ -802,6 +802,9 @@ detail_matches_listener (const char *event_detail, const char *listener_detail)
if (!listener_detail)
return TRUE;
+ if (!event_detail)
+ return (listener_detail ? FALSE : TRUE);
+
return !(listener_detail [strcspn (listener_detail, ":")] == '\0'
? strncmp (listener_detail, event_detail,
strcspn (event_detail, ":"))