Merge pull request #3516 from orestisf1993/truncate-utf8

Truncate wm_name utf8 strings to first zero byte
This commit is contained in:
Ingo Bürk 2018-11-09 21:01:57 +01:00 committed by GitHub
commit cf553ce31e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 10 additions and 4 deletions

View File

@ -74,8 +74,12 @@ void window_update_name(i3Window *win, xcb_get_property_reply_t *prop, bool befo
}
i3string_free(win->name);
win->name = i3string_from_utf8_with_length(xcb_get_property_value(prop),
xcb_get_property_value_length(prop));
/* Truncate the name at the first zero byte. See #3515. */
const int len = xcb_get_property_value_length(prop);
char *name = sstrndup(xcb_get_property_value(prop), len);
win->name = i3string_from_utf8(name);
free(name);
Con *con = con_by_window_id(win->id);
if (con != NULL && con->title_format != NULL) {
@ -119,8 +123,10 @@ void window_update_name_legacy(i3Window *win, xcb_get_property_reply_t *prop, bo
}
i3string_free(win->name);
win->name = i3string_from_utf8_with_length(xcb_get_property_value(prop),
xcb_get_property_value_length(prop));
const int len = xcb_get_property_value_length(prop);
char *name = sstrndup(xcb_get_property_value(prop), len);
win->name = i3string_from_utf8(name);
free(name);
Con *con = con_by_window_id(win->id);
if (con != NULL && con->title_format != NULL) {