chart: Fix format string issues in chart_write_title callers.
authorBen Pfaff <blp@gnu.org>
Thu, 2 Jul 2009 03:50:33 +0000 (20:50 -0700)
committerBen Pfaff <blp@gnu.org>
Thu, 2 Jul 2009 03:50:33 +0000 (20:50 -0700)
The 'title' argument to chart_write_title is used as a printf-type format
string, so callers must pass "%s" to safely use an arbitrary string as a
title.

src/language/stats/examine.q
src/output/charts/barchart.c
src/output/charts/piechart.c
src/output/charts/plot-chart.h

index 99ff5c4586635539869806b0fdd2779e73d60a05..f3fec17b9047af5b0f16b08eee28ffede82ec2b7 100644 (file)
@@ -609,7 +609,7 @@ show_boxplot_variables (const struct variable **dependent_var,
       var_append_value_name (fctr->indep_var[0], &result->value[0], &title);
 #endif
 
-      chart_write_title (ch, ds_cstr (&title));
+      chart_write_title (ch, "%s", ds_cstr (&title));
       ds_destroy (&title);
 
       for (v = 0; v < n_dep_var; ++v)
index 88a1d741ddf9199f08404d49096de62dada0a373..96cd07fb055aa004ca694dc142bfb4ba59dc9ad5 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPP - a program for statistical analysis.
-   Copyright (C) 2004 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2009 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -202,7 +202,7 @@ draw_barchart(struct chart *ch, const char *title,
   pl_restorestate_r(ch->lp);
 
 
-  chart_write_title(ch, title);
+  chart_write_title(ch, "%s", title);
 
   write_legend(ch);
 
index 869f21b2b4892e288b5cbbf8a8b43581fd4366b5..97910010c69101d16c21f607cc13a369aad0f3b7 100644 (file)
@@ -69,7 +69,7 @@ piechart_plot(const char *title, const struct slice *slices, int n_slices)
   double angle;
 
 
-  chart_write_title(ch, title);
+  chart_write_title(ch, "%s", title);
 
   for (i = 0 ; i < n_slices ; ++i )
     total_magnitude += slices[i].magnitude;
index 4a1dc10538d2567b630cca096886c8ca8e5011cd..f29b4a35d1d74280325bedf0d10941cfbdcdfff1 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPP - a program for statistical analysis.
-   Copyright (C) 2004 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2009 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -26,6 +26,7 @@
 #include <math/chart-geometry.h>
 #include <output/chart.h>
 
+#include <libpspp/compiler.h>
 #include <libpspp/str.h>
 #include <output/manager.h>
 #include <output/output.h>
@@ -55,7 +56,8 @@ void draw_tick(struct chart *chart,
 
 
 /* Write the title on a chart*/
-void   chart_write_title(struct chart *chart, const char *title, ...);
+void   chart_write_title(struct chart *chart, const char *title, ...)
+  PRINTF_FORMAT (2, 3);
 
 
 /* Set the scale for the abscissa */