From 0e880e76a21969f42ee3cd764a459f0d504c5a57 Mon Sep 17 00:00:00 2001 From: Dave Davenport Date: Sun, 24 May 2020 17:14:12 +0200 Subject: [Window] On window name list, Check if we go out of range. --- source/dialogs/window.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/dialogs/window.c b/source/dialogs/window.c index e5eb33cb..5762ca9a 100644 --- a/source/dialogs/window.c +++ b/source/dialogs/window.c @@ -453,6 +453,7 @@ static unsigned int window_mode_get_num_entries ( const Mode *sw ) * Small helper function to find the right entry in the ewmh reply. * Is there a call for this? */ +const char *invalid_desktop_name = "n/a"; static const char * _window_name_list_entry ( const char *str, uint32_t length, int entry ) { uint32_t offset = 0; @@ -463,6 +464,9 @@ static const char * _window_name_list_entry ( const char *str, uint32_t length, } offset++; } + if ( offset >= length ){ + return invalid_desktop_name; + } return &str[offset]; } static void _window_mode_load_data ( Mode *sw, unsigned int cd ) -- cgit v1.2.3