[goffice] Fuzzed file fix [#751257]



commit 7f7d2f3e54e6364efe3c45284be41397747b1d3d
Author: Jean Brefort <jean brefort normalesup org>
Date:   Sun Jun 21 08:22:15 2015 +0200

    Fuzzed file fix [#751257]

 ChangeLog                         |    5 +++++
 NEWS                              |    2 +-
 plugins/plot_surface/xl-surface.c |    3 ++-
 3 files changed, 8 insertions(+), 2 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 6990f3b..c625a2a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2015-06-21  Jean Brefort  <jean brefort normalesup org>
 
+       * plugins/plot_surface/xl-surface.c (get_y_vector): skip invalid series.
+       [#751257]
+
+2015-06-21  Jean Brefort  <jean brefort normalesup org>
+
        * plugins/plot_xy/gog-xy.c (gog_xy_view_render): protect against wrong
        series element index. [#751256]
 
diff --git a/NEWS b/NEWS
index 6e96642..09440ef 100644
--- a/NEWS
+++ b/NEWS
@@ -2,7 +2,7 @@ goffice 0.10.23:
 
 Jean:
        * Disable metafiles support when there is no screen. [#748493]
-       * Fuzzed file fix.  [#750860] [#751059] [#751256]
+       * Fuzzed file fix.  [#750860] [#751059] [#751256] [#751257]
 
 Morten:
        * Fix ABR [#749167]
diff --git a/plugins/plot_surface/xl-surface.c b/plugins/plot_surface/xl-surface.c
index be92b8a..5808886 100644
--- a/plugins/plot_surface/xl-surface.c
+++ b/plugins/plot_surface/xl-surface.c
@@ -153,7 +153,7 @@ get_y_vector (GogPlot *plot)
        g_free (*y_labels);
        *y_labels = g_new0 (char const *, GOG_XYZ_PLOT (plot)->rows);
 
-       for (ptr = plot->series, i = 0 ; ptr != NULL ; ptr = ptr->next, i++) {
+       for (ptr = plot->series, i = 0 ; ptr != NULL ; ptr = ptr->next) {
                XLXYZSeries *series = ptr->data;
 
                if (!gog_series_is_valid (GOG_SERIES (series)))
@@ -161,6 +161,7 @@ get_y_vector (GogPlot *plot)
                (*y_labels) [i] = (series->values[-1].data)?
                                go_data_get_scalar_string (series->values[-1].data):
                                g_strdup_printf("S%d", i + 1); /* excel like labels */
+               i++;
        }
 
        return GO_DATA (go_data_vector_str_new (*y_labels, i, g_free));


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]