[gbdfed] fix -Werror=format-security bugs

Tom Callaway spot at fedoraproject.org
Tue Dec 3 16:42:57 UTC 2013


commit 7cb46ed1ac2cdc988cffe8a4d78899652f9f4a06
Author: Tom Callaway <spot at fedoraproject.org>
Date:   Tue Dec 3 11:42:53 2013 -0500

    fix -Werror=format-security bugs

 .gitignore                           |    1 +
 gbdfed-1.6-format-security-fix.patch |   37 +++
 gbdfed-1.6-gtkfix.patch              |  499 ++++++++++++++++++++++++++++++++++
 gbdfed.spec                          |   20 +-
 sources                              |    2 +-
 5 files changed, 548 insertions(+), 11 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 4b27426..840de0d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
 gbdfed-1.5.tbz2
+/gbdfed-1.6.tar.bz2
diff --git a/gbdfed-1.6-format-security-fix.patch b/gbdfed-1.6-format-security-fix.patch
new file mode 100644
index 0000000..5c9201f
--- /dev/null
+++ b/gbdfed-1.6-format-security-fix.patch
@@ -0,0 +1,37 @@
+diff -up gbdfed-1.6/bdf.c.format-security gbdfed-1.6/bdf.c
+--- gbdfed-1.6/bdf.c.format-security	2013-12-03 11:35:25.998654667 -0500
++++ gbdfed-1.6/bdf.c	2013-12-03 11:36:55.002550482 -0500
+@@ -2843,14 +2843,14 @@ bdf_save_font(FILE *out, bdf_font_t *fon
+         bpr = ((c->bbx.width * font->bpp) + 7) >> 3;
+         for (j = 0; bpr != 0 && j < c->bytes; j++) {
+             if (j && j % bpr == 0)
+-              fprintf(out, eol);
++              fprintf(out, "%s", eol);
+             fprintf(out, "%02X", c->bitmap[j]);
+         }
+         /*
+          * Handle empty bitmaps like this.
+          */
+         if (c->bbx.height > 0)
+-          fprintf(out, eol);
++          fprintf(out, "%s", eol);
+         fprintf(out, "ENDCHAR%s", eol);
+ 
+         /*
+@@ -2915,14 +2915,14 @@ bdf_save_font(FILE *out, bdf_font_t *fon
+         bpr = ((c->bbx.width * font->bpp) + 7) >> 3;
+         for (j = 0; bpr != 0 && j < c->bytes; j++) {
+             if (j && j % bpr == 0)
+-              fprintf(out, eol);
++              fprintf(out, "%s", eol);
+             fprintf(out, "%02X", c->bitmap[j]);
+         }
+         /*
+          * Handle empty bitmaps like this.
+          */
+         if (c->bbx.height > 0)
+-          fprintf(out, eol);
++          fprintf(out, "%s", eol);
+         fprintf(out, "ENDCHAR%s", eol);
+ 
+         /*
diff --git a/gbdfed-1.6-gtkfix.patch b/gbdfed-1.6-gtkfix.patch
new file mode 100644
index 0000000..783953e
--- /dev/null
+++ b/gbdfed-1.6-gtkfix.patch
@@ -0,0 +1,499 @@
+diff -up gbdfed-1.6/fontgrid.c.gtkfix gbdfed-1.6/fontgrid.c
+--- gbdfed-1.6/fontgrid.c.gtkfix	2010-04-16 10:39:02.000000000 -0400
++++ gbdfed-1.6/fontgrid.c	2013-12-03 11:31:39.564924701 -0500
+@@ -219,7 +219,7 @@ static GdkPoint encoding_digits[19*6];
+ /*
+  * A macro for getting the current foreground GC.
+  */
+-#define WIDGET_FG_GC(w) ((w)->style->fg_gc[GTK_WIDGET_STATE(w)])
++#define WIDGET_FG_GC(w) ((w)->style->fg_gc[gtk_widget_get_state(w)])
+ 
+ #define HMARGINS(fw) ((fw)->hmargin << 1)
+ #define VMARGINS(fw) ((fw)->vmargin << 1)
+@@ -581,7 +581,7 @@ fontgrid_actual_size(GtkWidget *widget,
+      */
+     fontgrid_set_rows_cols(fw, actual);
+ 
+-    if (GTK_WIDGET_REALIZED(widget))
++    if (gtk_widget_get_realized(widget))
+       gdk_window_move_resize(widget->window, actual->x, actual->y,
+                              actual->width, actual->height);
+ }
+@@ -598,7 +598,7 @@ fontgrid_realize(GtkWidget *widget)
+     g_return_if_fail(IS_FONTGRID(widget));
+ 
+     fw = FONTGRID(widget);
+-    GTK_WIDGET_SET_FLAGS(widget, GTK_REALIZED);
++    gtk_widget_set_realized(widget, TRUE);
+ 
+     attributes.window_type = GDK_WINDOW_CHILD;
+     attributes.x = widget->allocation.x;
+@@ -632,8 +632,8 @@ fontgrid_realize(GtkWidget *widget)
+      * Create the GC used to display selected cells.
+      */
+     values.foreground.pixel =
+-        widget->style->fg[GTK_WIDGET_STATE(widget)].pixel ^
+-        widget->style->bg[GTK_WIDGET_STATE(widget)].pixel;
++        widget->style->fg[gtk_widget_get_state(widget)].pixel ^
++        widget->style->bg[gtk_widget_get_state(widget)].pixel;
+     (void) memset((char *) &values.background, 0, sizeof(GdkColor));
+     values.function = GDK_XOR;
+     fw->xor_gc = gdk_gc_new_with_values(widget->window, &values,
+@@ -849,7 +849,7 @@ fontgrid_draw_encoding(GtkWidget *w, Gdk
+     gint i, j, d;
+     GdkPoint *dp;
+ 
+-    if (!GTK_WIDGET_REALIZED(w))
++    if (!gtk_widget_get_realized(w))
+       return;
+ 
+     dp = encoding_digits;
+@@ -899,7 +899,7 @@ fontgrid_draw_cells(GtkWidget *widget, g
+     GdkRectangle rect;
+     gchar nbuf[16];
+ 
+-    if (!GTK_WIDGET_REALIZED(widget) || (labels == FALSE && glyphs == FALSE))
++    if (!gtk_widget_get_realized(widget) || (labels == FALSE && glyphs == FALSE))
+       return;
+ 
+     fw = FONTGRID(widget);
+@@ -942,7 +942,7 @@ fontgrid_draw_cells(GtkWidget *widget, g
+ 
+     gp = glyph;
+ 
+-    gc = widget->style->fg_gc[GTK_WIDGET_STATE(widget)];
++    gc = widget->style->fg_gc[gtk_widget_get_state(widget)];
+ 
+     for (ng = 0, i = start; i <= end; i++) {
+         /*
+@@ -1119,7 +1119,7 @@ fontgrid_draw(GtkWidget *widget, GdkRegi
+ 
+     fw = FONTGRID(widget);
+ 
+-    gc = widget->style->fg_gc[GTK_WIDGET_STATE(widget)];
++    gc = widget->style->fg_gc[gtk_widget_get_state(widget)];
+ 
+     gw = fw->cell_width * fw->cell_cols;
+     gh = fw->cell_height * fw->cell_rows;
+@@ -1259,15 +1259,15 @@ fontgrid_draw_focus(GtkWidget *widget, G
+                          "focus-line-width", &fwidth,
+                          "focus-padding", &fpad, NULL);
+ 
+-    gc = widget->style->bg_gc[GTK_WIDGET_STATE(widget)];
++    gc = widget->style->bg_gc[gtk_widget_get_state(widget)];
+ 
+     x = (widget->style->xthickness + fwidth + fpad) - 1;
+     y = (widget->style->ythickness + fwidth + fpad) - 1;
+     wd = (widget->allocation.width - (x * 2));
+     ht = (widget->allocation.height - (y * 2));
+ 
+-    if (GTK_WIDGET_HAS_FOCUS(widget))
+-      gtk_paint_focus(widget->style, widget->window, GTK_WIDGET_STATE(widget),
++    if (gtk_widget_has_focus(widget))
++      gtk_paint_focus(widget->style, widget->window, gtk_widget_get_state(widget),
+                       area, widget, "fontgrid", x, y, wd, ht);
+     else {
+         gdk_gc_set_clip_rectangle(gc, area);
+@@ -1282,9 +1282,9 @@ fontgrid_expose(GtkWidget *widget, GdkEv
+     /*
+      * Paint the shadow first.
+      */
+-    if (GTK_WIDGET_DRAWABLE(widget))
++    if (gtk_widget_is_drawable(widget))
+       gtk_paint_shadow(widget->style, widget->window,
+-                       GTK_WIDGET_STATE(widget), GTK_SHADOW_OUT,
++                       gtk_widget_get_state(widget), GTK_SHADOW_OUT,
+                        &event->area, widget, "fontgrid",
+                        0, 0,
+                        widget->allocation.width,
+@@ -1304,7 +1304,8 @@ fontgrid_focus_in(GtkWidget *widget, Gdk
+     g_return_val_if_fail(IS_FONTGRID(widget), FALSE);
+     g_return_val_if_fail(event != NULL, FALSE);
+ 
+-    GTK_WIDGET_SET_FLAGS(widget, GTK_HAS_FOCUS);
++    gtk_widget_set_can_focus(widget, TRUE);
++    gtk_widget_grab_focus(widget);
+     fontgrid_draw_focus(widget, 0);
+ 
+     return FALSE;
+@@ -1317,7 +1318,7 @@ fontgrid_focus_out(GtkWidget *widget, Gd
+     g_return_val_if_fail(IS_FONTGRID(widget), FALSE);
+     g_return_val_if_fail(event != NULL, FALSE);
+ 
+-    GTK_WIDGET_UNSET_FLAGS(widget, GTK_HAS_FOCUS);
++    gtk_widget_set_can_focus(widget, FALSE);
+     fontgrid_draw_focus(widget, 0);
+ 
+     return FALSE;
+@@ -1440,8 +1441,9 @@ start_selection(GtkWidget *widget, GdkEv
+     /*
+      * Deal with the focus issue first.
+      */
+-    if (!GTK_WIDGET_HAS_FOCUS(widget)) {
+-        GTK_WIDGET_SET_FLAGS(widget, GTK_HAS_FOCUS);
++    if (!gtk_widget_has_focus(widget)) {
++        gtk_widget_set_can_focus(widget, TRUE);
++        gtk_widget_grab_focus(widget);
+         (void) fontgrid_draw_focus(widget, NULL);
+     }
+ 
+@@ -1555,8 +1557,9 @@ extend_selection(GtkWidget *widget, gint
+     /*
+      * Deal with the focus issue first.
+      */
+-    if (!GTK_WIDGET_HAS_FOCUS(widget)) {
+-        GTK_WIDGET_SET_FLAGS(widget, GTK_HAS_FOCUS);
++    if (!gtk_widget_has_focus(widget)) {
++        gtk_widget_set_can_focus(widget, TRUE);
++        gtk_widget_grab_focus(widget);
+         (void) fontgrid_draw_focus(widget, NULL);
+     }
+ 
+@@ -2456,7 +2459,7 @@ fontgrid_init(GTypeInstance *obj, gpoint
+     GdkScreen *screen;
+     gint fwidth, fpad;
+ 
+-    GTK_WIDGET_SET_FLAGS(fw, GTK_CAN_FOCUS);
++    gtk_widget_set_can_focus(GTK_WIDGET(fw), TRUE);
+ 
+     gtk_widget_style_get(GTK_WIDGET(fw),
+                          "focus-line-width", &fwidth,
+@@ -3752,11 +3755,11 @@ fontgrid_translate_glyphs(Fontgrid *fw,
+     if (bdf_translate_glyphs(fw->font, dx, dy, start, end, 0, 0,
+                              fw->unencoded)) {
+         gtk_widget_queue_resize(w);
+-        if (GTK_WIDGET_REALIZED(w))
++        if (gtk_widget_get_realized(w))
+           gdk_window_clear(w->window);
+ 
+         gtk_widget_queue_resize(w);
+-        if (GTK_WIDGET_REALIZED(w))
++        if (gtk_widget_get_realized(w))
+           gdk_window_clear(w->window);
+ 
+         minfo.reason = FONTGRID_GLYPHS_MODIFIED;
+@@ -3787,7 +3790,7 @@ fontgrid_rotate_glyphs(Fontgrid *fw, gin
+     if (bdf_rotate_glyphs(fw->font, degrees, start, end, 0, 0,
+                           fw->unencoded)) {
+         gtk_widget_queue_resize(w);
+-        if (GTK_WIDGET_REALIZED(w))
++        if (gtk_widget_get_realized(w))
+           gdk_window_clear(w->window);
+ 
+         minfo.reason = FONTGRID_GLYPHS_MODIFIED;
+@@ -3818,7 +3821,7 @@ fontgrid_shear_glyphs(Fontgrid *fw, gint
+     if (bdf_shear_glyphs(fw->font, degrees, start, end, 0, 0,
+                           fw->unencoded)) {
+         gtk_widget_queue_resize(w);
+-        if (GTK_WIDGET_REALIZED(w))
++        if (gtk_widget_get_realized(w))
+           gdk_window_clear(w->window);
+ 
+         minfo.reason = FONTGRID_GLYPHS_MODIFIED;
+@@ -3852,7 +3855,7 @@ fontgrid_embolden_glyphs(Fontgrid *fw, g
+                             fw->unencoded, &resize)) {
+         if (resize) {
+             gtk_widget_queue_resize(w);
+-            if (GTK_WIDGET_REALIZED(w))
++            if (gtk_widget_get_realized(w))
+               gdk_window_clear(w->window);
+         } else
+           /*
+@@ -4346,7 +4349,7 @@ fontgrid_paste_selection(Fontgrid *fw, F
+     FontgridSelectionInfo sinfo;
+ 
+     g_return_if_fail(fw != 0);
+-    g_return_if_fail(GTK_WIDGET_REALIZED(w));
++    g_return_if_fail(gtk_widget_get_realized(w));
+ 
+     if ((win = gdk_selection_owner_get(FONTGRID_CLIPBOARD)) == 0) {
+         gdk_selection_owner_set(w->window, FONTGRID_CLIPBOARD,
+diff -up gbdfed-1.6/gectrl.c.gtkfix gbdfed-1.6/gectrl.c
+--- gbdfed-1.6/gectrl.c.gtkfix	2010-04-16 10:39:03.000000000 -0400
++++ gbdfed-1.6/gectrl.c	2013-12-03 11:31:39.564924701 -0500
+@@ -556,7 +556,7 @@ gecontrol_actual_size(GtkWidget *widget,
+ 
+     gecontrol_position_buttons(widget);
+ 
+-    if (GTK_WIDGET_REALIZED(widget))
++    if (gtk_widget_get_realized(widget))
+       gdk_window_move_resize(widget->window, actual->x, actual->y,
+                              actual->width, actual->height);
+ }
+@@ -700,7 +700,7 @@ gecontrol_button_normal(GEControl *ge, g
+         v = (GEC_BUTTON_SIZE >> 1) - (BMAP_DIM >> 1);
+     }
+ 
+-    gdk_draw_pixbuf(w->window, w->style->fg_gc[GTK_WIDGET_STATE(w)],
++    gdk_draw_pixbuf(w->window, w->style->fg_gc[gtk_widget_get_state(w)],
+                     ge->buttons[button].image, 0, 0,
+                     ge->buttons[button].x + v, ge->buttons[button].y + v,
+                     BMAP_DIM, BMAP_DIM, GDK_RGB_DITHER_NONE, 0, 0);
+@@ -741,7 +741,7 @@ gecontrol_button_prelight(GEControl *ge,
+         v = (GEC_BUTTON_SIZE >> 1) - (BMAP_DIM >> 1);
+     }
+ 
+-    gdk_draw_pixbuf(w->window, w->style->fg_gc[GTK_WIDGET_STATE(w)],
++    gdk_draw_pixbuf(w->window, w->style->fg_gc[gtk_widget_get_state(w)],
+                     ge->buttons[button].image, 0, 0,
+                     ge->buttons[button].x + v, ge->buttons[button].y + v,
+                     BMAP_DIM, BMAP_DIM, GDK_RGB_DITHER_NONE, 0, 0);
+@@ -782,7 +782,7 @@ gecontrol_button_active(GEControl *ge, g
+         v = (GEC_BUTTON_SIZE >> 1) - (BMAP_DIM >> 1);
+     }
+ 
+-    gdk_draw_pixbuf(w->window, w->style->fg_gc[GTK_WIDGET_STATE(w)],
++    gdk_draw_pixbuf(w->window, w->style->fg_gc[gtk_widget_get_state(w)],
+                     ge->buttons[button].image, 0, 0,
+                     ge->buttons[button].x + v, ge->buttons[button].y + v,
+                     BMAP_DIM, BMAP_DIM, GDK_RGB_DITHER_NONE, 0, 0);
+@@ -1004,7 +1004,7 @@ gecontrol_draw_glyph_image(GEControl *ge
+      */
+     gecontrol_make_rgb_glyph(ge);
+     gdk_draw_rgb_image(w->window,
+-                       w->style->bg_gc[GTK_WIDGET_STATE(w)],
++                       w->style->bg_gc[gtk_widget_get_state(w)],
+                        ge->gimage->x + 2, ge->gimage->y + 2,
+                        ge->gimage->width, ge->gimage->height,
+                        GDK_RGB_DITHER_NONE, ge->rgb,
+@@ -1039,8 +1039,8 @@ gecontrol_expose(GtkWidget *w, GdkEventE
+          * Make sure the selection GC has been created.
+          */
+         if (gec->selgc == 0) {
+-            gcv.foreground.pixel = w->style->fg[GTK_WIDGET_STATE(w)].pixel;
+-            gcv.background.pixel = w->style->bg[GTK_WIDGET_STATE(w)].pixel;
++            gcv.foreground.pixel = w->style->fg[gtk_widget_get_state(w)].pixel;
++            gcv.background.pixel = w->style->bg[gtk_widget_get_state(w)].pixel;
+             gcv.foreground.pixel ^= gcv.background.pixel;
+             gcv.function = GDK_XOR;
+             gec->selgc = gdk_gc_new_with_values(w->window, &gcv,
+@@ -1050,7 +1050,7 @@ gecontrol_expose(GtkWidget *w, GdkEventE
+         gecontrol_make_color_spots(ge, ge->gimage->bpp);
+ 
+         gdk_draw_gray_image(w->window,
+-                            w->style->fg_gc[GTK_WIDGET_STATE(w)],
++                            w->style->fg_gc[gtk_widget_get_state(w)],
+                             ge->spot.x, ge->spot.y,
+                             ge->spot.width, ge->spot.height,
+                             GDK_RGB_DITHER_NONE, ge->rgb, ge->spot.width);
+diff -up gbdfed-1.6/glyphedit.c.gtkfix gbdfed-1.6/glyphedit.c
+--- gbdfed-1.6/glyphedit.c.gtkfix	2010-04-16 10:39:04.000000000 -0400
++++ gbdfed-1.6/glyphedit.c	2013-12-03 11:31:39.565924699 -0500
+@@ -316,7 +316,7 @@ glyphedit_actual_size(GtkWidget *widget,
+ {
+     widget->allocation = *actual;
+ 
+-    if (GTK_WIDGET_REALIZED(widget))
++    if (gtk_widget_get_realized(widget))
+       gdk_window_move_resize(widget->window, actual->x, actual->y,
+                              actual->width, actual->height);
+ }
+@@ -335,15 +335,15 @@ glyphedit_draw_focus(GtkWidget *widget,
+                          "focus-line-width", &fwidth,
+                          "focus-padding", &fpad, NULL);
+ 
+-    gc = widget->style->bg_gc[GTK_WIDGET_STATE(widget)];
++    gc = widget->style->bg_gc[gtk_widget_get_state(widget)];
+ 
+     x = (widget->style->xthickness + fwidth + fpad) - 1;
+     y = (widget->style->ythickness + fwidth + fpad) - 1;
+     wd = (widget->allocation.width - (x * 2));
+     ht = (widget->allocation.height - (y * 2));
+ 
+-    if (GTK_WIDGET_HAS_FOCUS(widget))
+-      gtk_paint_focus(widget->style, widget->window, GTK_WIDGET_STATE(widget),
++    if (gtk_widget_has_focus(widget))
++      gtk_paint_focus(widget->style, widget->window, gtk_widget_get_state(widget),
+                       area, widget, "glyphedit", x, y, wd, ht);
+     else {
+         gdk_gc_set_clip_rectangle(gc, area);
+@@ -621,9 +621,9 @@ glyphedit_create_gcs(GtkWidget *widget,
+         if (gwc->gridgc != 0)
+           g_object_unref(G_OBJECT(gwc->gridgc));
+         gcv.foreground.pixel =
+-            widget->style->fg[GTK_WIDGET_STATE(widget)].pixel;
++            widget->style->fg[gtk_widget_get_state(widget)].pixel;
+         gcv.background.pixel =
+-            widget->style->bg[GTK_WIDGET_STATE(widget)].pixel;
++            widget->style->bg[gtk_widget_get_state(widget)].pixel;
+         gcv.function = GDK_COPY;
+         gcv.line_style = GDK_LINE_ON_OFF_DASH;
+         gwc->gridgc = gdk_gc_new_with_values(widget->window, &gcv,
+@@ -657,9 +657,9 @@ glyphedit_create_gcs(GtkWidget *widget,
+           g_object_unref(G_OBJECT(gwc->selgc));
+ 
+         gcv.foreground.pixel =
+-            widget->style->fg[GTK_WIDGET_STATE(widget)].pixel;
++            widget->style->fg[gtk_widget_get_state(widget)].pixel;
+         gcv.background.pixel =
+-            widget->style->bg[GTK_WIDGET_STATE(widget)].pixel;
++            widget->style->bg[gtk_widget_get_state(widget)].pixel;
+         gcv.foreground.pixel ^= gcv.background.pixel;
+         gcv.function = GDK_XOR;
+         gwc->selgc = gdk_gc_new_with_values(widget->window, &gcv, gcm);
+@@ -670,9 +670,9 @@ glyphedit_create_gcs(GtkWidget *widget,
+           g_object_unref(G_OBJECT(gwc->pixgc));
+ 
+         gcv.foreground.pixel =
+-            widget->style->fg[GTK_WIDGET_STATE(widget)].pixel;
++            widget->style->fg[gtk_widget_get_state(widget)].pixel;
+         gcv.background.pixel =
+-            widget->style->bg[GTK_WIDGET_STATE(widget)].pixel;
++            widget->style->bg[gtk_widget_get_state(widget)].pixel;
+         gcv.function = GDK_COPY;
+         gwc->pixgc = gdk_gc_new_with_values(widget->window, &gcv, gcm);
+     }
+@@ -741,9 +741,9 @@ glyphedit_expose(GtkWidget *widget, GdkE
+     /*
+      * Paint the shadow first.
+      */
+-    if (GTK_WIDGET_DRAWABLE(widget))
++    if (gtk_widget_is_drawable(widget))
+       gtk_paint_shadow(widget->style, widget->window,
+-                       GTK_WIDGET_STATE(widget), GTK_SHADOW_OUT,
++                       gtk_widget_get_state(widget), GTK_SHADOW_OUT,
+                        &event->area, widget, "glyphedit",
+                        0, 0,
+                        widget->allocation.width,
+@@ -1558,7 +1558,7 @@ glyphedit_own_clipboard(Glyphedit *gw)
+     GdkWindow *win;
+ 
+     w = GTK_WIDGET(gw);
+-    if (!GTK_WIDGET_REALIZED(w) || gw->owns_clipboard == TRUE)
++    if (!gtk_widget_get_realized(w) || gw->owns_clipboard == TRUE)
+       return;
+ 
+     win = gdk_selection_owner_get(GLYPHEDIT_CLIPBOARD);
+@@ -2182,7 +2182,7 @@ glyphedit_button_release(GtkWidget *w, G
+     /*
+      * Button releases on a widget without the focus is ignored.
+      */
+-    if (!GTK_WIDGET_HAS_FOCUS(w))
++    if (!gtk_widget_has_focus(w))
+       return FALSE;
+ 
+     gw = GLYPHEDIT(w);
+@@ -2258,7 +2258,7 @@ glyphedit_motion_notify(GtkWidget *w, Gd
+      * If the event is a simple motion event with no button being pressed,
+      * then simply return at this point.
+      */
+-    if (!GTK_WIDGET_HAS_FOCUS(w) ||
++    if (!gtk_widget_has_focus(w) ||
+         !(event->state & (GDK_BUTTON1_MASK|GDK_BUTTON2_MASK|GDK_BUTTON3_MASK)))
+       return FALSE;
+ 
+diff -up gbdfed-1.6/glyphtest.c.gtkfix gbdfed-1.6/glyphtest.c
+--- gbdfed-1.6/glyphtest.c.gtkfix	2010-04-16 10:39:04.000000000 -0400
++++ gbdfed-1.6/glyphtest.c	2013-12-03 11:31:39.565924699 -0500
+@@ -229,7 +229,7 @@ glyphtest_actual_size(GtkWidget *widget,
+ {
+     widget->allocation = *actual;
+ 
+-    if (GTK_WIDGET_REALIZED(widget))
++    if (gtk_widget_get_realized(widget))
+       gdk_window_move_resize(widget->window, actual->x, actual->y,
+                              actual->width, actual->height);
+ }
+@@ -248,15 +248,15 @@ glyphtest_draw_focus(GtkWidget *widget,
+                          "focus-line-width", &fwidth,
+                          "focus-padding", &fpad, NULL);
+ 
+-    gc = widget->style->bg_gc[GTK_WIDGET_STATE(widget)];
++    gc = widget->style->bg_gc[gtk_widget_get_state(widget)];
+ 
+     x = (widget->style->xthickness + fwidth + fpad) - 1;
+     y = (widget->style->ythickness + fwidth + fpad) - 1;
+     wd = (widget->allocation.width - (x * 2));
+     ht = (widget->allocation.height - (y * 2));
+ 
+-    if (GTK_WIDGET_HAS_FOCUS(widget))
+-      gtk_paint_focus(widget->style, widget->window, GTK_WIDGET_STATE(widget),
++    if (gtk_widget_has_focus(widget))
++      gtk_paint_focus(widget->style, widget->window, gtk_widget_get_state(widget),
+                       area, widget, "glyphtest", x, y, wd, ht);
+     else {
+         gdk_gc_set_clip_rectangle(gc, area);
+@@ -323,7 +323,7 @@ _glyphtest_draw_glyph(Glyphtest *gw, bdf
+ 
+     w = GTK_WIDGET(gw);
+ 
+-    if (!GTK_WIDGET_REALIZED(w))
++    if (!gtk_widget_get_realized(w))
+       return;
+ 
+     ry = gw->line.cpoint.y;
+@@ -348,7 +348,7 @@ _glyphtest_redraw_glyphs(Glyphtest *gw)
+ 
+     w = GTK_WIDGET(gw);
+ 
+-    if (!GTK_WIDGET_REALIZED(w))
++    if (!gtk_widget_get_realized(w))
+       return;
+ 
+     lp = &gw->line;
+@@ -393,7 +393,7 @@ glyphtest_draw(GtkWidget *widget, GdkRec
+     GdkPoint s, e;
+     GdkRectangle clear;
+ 
+-    if (!GTK_WIDGET_REALIZED(widget))
++    if (!gtk_widget_get_realized(widget))
+       return;
+ 
+     gw = GLYPHTEST(widget);
+@@ -421,7 +421,7 @@ glyphtest_draw(GtkWidget *widget, GdkRec
+         s.y = e.y = gw->line.cpoint.y;
+ 
+         gdk_draw_line(widget->window,
+-                      widget->style->fg_gc[GTK_WIDGET_STATE(widget)],
++                      widget->style->fg_gc[gtk_widget_get_state(widget)],
+                       s.x, s.y, e.x, e.y);
+     }
+ }
+@@ -432,9 +432,9 @@ glyphtest_expose(GtkWidget *widget, GdkE
+     /*
+      * Paint the shadow first.
+      */
+-    if (GTK_WIDGET_DRAWABLE(widget))
++    if (gtk_widget_is_drawable(widget))
+       gtk_paint_shadow(widget->style, widget->window,
+-                       GTK_WIDGET_STATE(widget), GTK_SHADOW_OUT,
++                       gtk_widget_get_state(widget), GTK_SHADOW_OUT,
+                        &event->area,
+                        widget, "glyphtest",
+                        0, 0,
+diff -up gbdfed-1.6/grayswatch.c.gtkfix gbdfed-1.6/grayswatch.c
+--- gbdfed-1.6/grayswatch.c.gtkfix	2010-04-16 10:39:05.000000000 -0400
++++ gbdfed-1.6/grayswatch.c	2013-12-03 11:31:39.565924699 -0500
+@@ -74,9 +74,9 @@ value_changed(GtkSpinButton *b, gpointer
+ 
+     memset(gs->image, v, gs->image_size);
+ 
+-    if (GTK_WIDGET_DRAWABLE(sw))
++    if (gtk_widget_is_drawable(sw))
+       gdk_draw_gray_image(sw->window,
+-                          sw->style->fg_gc[GTK_WIDGET_STATE(sw)],
++                          sw->style->fg_gc[gtk_widget_get_state(sw)],
+                           GTK_CONTAINER(gs)->border_width,
+                           GTK_CONTAINER(gs)->border_width,
+                           sw->allocation.width, sw->allocation.height,
+@@ -124,7 +124,7 @@ grayswatch_expose(GtkWidget *widget, Gdk
+ 
+     if (gs->image_size > 0)
+       gdk_draw_gray_image(widget->window,
+-                          widget->style->fg_gc[GTK_WIDGET_STATE(widget)],
++                          widget->style->fg_gc[gtk_widget_get_state(widget)],
+                           GTK_CONTAINER(gs)->border_width,
+                           GTK_CONTAINER(gs)->border_width,
+                           widget->allocation.width,
+diff -up gbdfed-1.6/labcon.c.gtkfix gbdfed-1.6/labcon.c
+--- gbdfed-1.6/labcon.c.gtkfix	2010-04-16 10:39:08.000000000 -0400
++++ gbdfed-1.6/labcon.c	2013-12-03 11:31:39.565924699 -0500
+@@ -240,7 +240,7 @@ draw_pixbuf(GtkWidget *w, GdkEventExpose
+ 
+     x = (w->allocation.width >> 1) - (wd >> 1);
+     y = (w->allocation.height >> 1) - (ht >> 1);
+-    gdk_draw_pixbuf(w->window, w->style->fg_gc[GTK_WIDGET_STATE(w)],
++    gdk_draw_pixbuf(w->window, w->style->fg_gc[gtk_widget_get_state(w)],
+                     p, 0, 0, x, y, wd, ht, GDK_RGB_DITHER_NONE, 0, 0);
+ 
+     return FALSE;
diff --git a/gbdfed.spec b/gbdfed.spec
index 78b25a8..e8c80ef 100644
--- a/gbdfed.spec
+++ b/gbdfed.spec
@@ -1,18 +1,15 @@
 Name:		gbdfed
 Summary: 	Bitmap Font Editor
-Version:	1.5
-Release:	9%{?dist}
+Version:	1.6
+Release:	1%{?dist}
 License:	MIT
 Group:		Applications/System
-Source0:	http://www.math.nmsu.edu/~mleisher/Software/gbdfed/%{name}-%{version}.tbz2
+Source0:	http://www.math.nmsu.edu/~mleisher/Software/gbdfed/%{name}-%{version}.tar.bz2
 Source1:	http://www.math.nmsu.edu/~mleisher/Software/gbdfed/%{name}16x16.png
 Source2:	gbdfed.desktop
-# Fix conflict with getline() in stdio.h
-Patch0:		gbdfed-1.5-getline.patch
-# Fix implicit DSO issue with libX11
-Patch1:		gbdfed-1.5-implicit-DSO-libX11.patch
+Patch0:		gbdfed-1.6-format-security-fix.patch
 # Fix some of the gtk issues
-Patch2:		gbdfed-1.5-gtkfix.patch
+Patch2:		gbdfed-1.6-gtkfix.patch
 URL:		http://www.math.nmsu.edu/~mleisher/Software/gbdfed/
 BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildRequires:	freetype-devel, pango-devel, libX11-devel, libICE-devel, gtk2-devel
@@ -26,8 +23,7 @@ editing font properties. The editor works natively with BDF fonts.
 
 %prep
 %setup -q 
-%patch0 -p1 -b .getline
-%patch1 -p1 -b .DSO
+%patch0 -p1 -b .format-security-fix
 %patch2 -p1 -b .gtkfix
 
 # This is incredibly hackish, and will likely not work when these deprecated bits are removed outright.
@@ -60,6 +56,10 @@ rm -rf %{buildroot}
 %{_mandir}/man1/gbdfed*
 
 %changelog
+* Tue Dec  3 2013 Tom Callaway <spot at fedoraproject.org> - 1.6-1
+- update to 1.6
+- fix format-security issues
+
 * Sat Aug 03 2013 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1.5-9
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
 
diff --git a/sources b/sources
index 9e94221..7ec8e21 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-39d62dc6269a2350626b3d14678e13b4  gbdfed-1.5.tbz2
+2a2e1cbfe8566db6d302f0b9ab79b8dd  gbdfed-1.6.tar.bz2


More information about the scm-commits mailing list