From 305eac0e71fb8e2d6944ec9d5726b9361b13a002 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Mon, 14 Feb 2011 16:33:42 +0100 Subject: [PATCH] Bugfix: Correctly check asprintf() return value --- src/window.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/window.c b/src/window.c index 6555be37..82c881a4 100644 --- a/src/window.c +++ b/src/window.c @@ -51,12 +51,21 @@ void window_update_name(i3Window *win, xcb_get_property_reply_t *prop) { (char*)xcb_get_property_value(prop)) == -1) { perror("asprintf()"); DLOG("Could not get window name\n"); + return; } /* Convert it to UCS-2 here for not having to convert it later every time we want to pass it to X */ + int len; + char *ucs2_name = convert_utf8_to_ucs2(new_name, &len); + if (ucs2_name == NULL) { + LOG("Could not convert _NET_WM_NAME to UCS-2, ignoring new hint\n"); + FREE(new_name); + return; + } FREE(win->name_x); FREE(win->name_json); win->name_json = new_name; - win->name_x = convert_utf8_to_ucs2(win->name_json, &win->name_len); + win->name_x = ucs2_name; + win->name_len = len; LOG("_NET_WM_NAME changed to \"%s\"\n", win->name_json); win->uses_net_wm_name = true; -- 2.39.5