diff options
author | Mike Gorse <mgorse@suse.com> | 2012-12-04 23:54:55 -0600 |
---|---|---|
committer | Mike Gorse <mgorse@suse.com> | 2012-12-04 23:54:55 -0600 |
commit | 8a003957693f41d75e6291342a1b16434677f027 (patch) | |
tree | 114477a947372e5978104fba773fa9769c40e01a /atspi/atspi-event-listener.c | |
parent | 7066928c09f14bbe9b0a49f526769d75fc44ef16 (diff) | |
download | at-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.c | 3 |
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, ":")) |