]> asedeno.scripts.mit.edu Git - PuTTY.git/commitdiff
Bug fix from Robert de Bath: if wc_to_mb returns a length of zero, it
authorSimon Tatham <anakin@pobox.com>
Sun, 22 Apr 2012 14:22:08 +0000 (14:22 +0000)
committerSimon Tatham <anakin@pobox.com>
Sun, 22 Apr 2012 14:22:08 +0000 (14:22 +0000)
will not even initialise sbstring[0], so we shouldn't even look at it
let alone depend on it to tell us the desired character was absent.

[originally from svn r9465]

unix/gtkfont.c

index 1aa1df8550c90531ba52377da3a318488ab3f9ee..123731a1d69337693d24be19faf41a14224169f3 100644 (file)
@@ -430,7 +430,7 @@ static int x11font_has_glyph(unifont *font, wchar_t glyph)
         char sbstring[2];
         int sblen = wc_to_mb(xfont->real_charset, 0, &glyph, 1,
                              sbstring, 2, "", NULL, NULL);
-        if (!sbstring[0])
+        if (sblen == 0 || !sbstring[0])
             return FALSE;              /* not even in the charset */
 
         return x11_font_has_glyph(xfont->fonts[0], 0,