]> asedeno.scripts.mit.edu Git - PuTTY.git/commitdiff
Prevent NULL-dereferencing segfaults when the font selector is
authorSimon Tatham <anakin@pobox.com>
Sat, 29 Mar 2008 13:59:31 +0000 (13:59 +0000)
committerSimon Tatham <anakin@pobox.com>
Sat, 29 Mar 2008 13:59:31 +0000 (13:59 +0000)
invoked with no valid font in the input text.

[originally from svn r7952]

unix/gtkfont.c

index 295be462477fbc4a435247ca38188059278bfa8a..b5c31cfa5bbc68ab17b6dbbdbbf71ce79f9b89ee 100644 (file)
@@ -1474,15 +1474,18 @@ static void unifontsel_set_filter_buttons(unifontsel_internal *fs)
 static void unifontsel_draw_preview_text(unifontsel_internal *fs)
 {
     unifont *font;
-    char *sizename;
+    char *sizename = NULL;
     fontinfo *info = fs->selected;
 
-    sizename = info->fontclass->scale_fontname
-       (GTK_WIDGET(fs->u.window), info->realname, fs->selsize);
+    if (info) {
+       sizename = info->fontclass->scale_fontname
+           (GTK_WIDGET(fs->u.window), info->realname, fs->selsize);
+       font = info->fontclass->create(GTK_WIDGET(fs->u.window),
+                                      sizename ? sizename : info->realname,
+                                      FALSE, FALSE, 0, 0);
+    } else
+       font = NULL;
 
-    font = info->fontclass->create(GTK_WIDGET(fs->u.window),
-                                  sizename ? sizename : info->realname,
-                                  FALSE, FALSE, 0, 0);
     if (fs->preview_pixmap) {
        GdkGC *gc = gdk_gc_new(fs->preview_pixmap);
        gdk_gc_set_foreground(gc, &fs->preview_bg);