[gnumeric] xlsx: plug leak.



commit 4d654d878f690b3a0821c9d30a84956cd26c0f02
Author: Morten Welinder <terra gnome org>
Date:   Tue Nov 6 09:52:41 2012 -0500

    xlsx: plug leak.

 plugins/excel/ChangeLog   |    4 ++++
 plugins/excel/xlsx-read.c |    8 +++++---
 2 files changed, 9 insertions(+), 3 deletions(-)
---
diff --git a/plugins/excel/ChangeLog b/plugins/excel/ChangeLog
index 301ceca..f2ba3fe 100644
--- a/plugins/excel/ChangeLog
+++ b/plugins/excel/ChangeLog
@@ -1,3 +1,7 @@
+2012-11-06  Morten Welinder  <terra gnome org>
+
+	* xlsx-read.c (xlsx_cond_fmt_formula_end): Plug leak.
+
 2012-10-17  Morten Welinder  <terra gnome org>
 
 	* xlsx-write.c (count_default_rows): Delete.
diff --git a/plugins/excel/xlsx-read.c b/plugins/excel/xlsx-read.c
index e661a5e..84fd458 100644
--- a/plugins/excel/xlsx-read.c
+++ b/plugins/excel/xlsx-read.c
@@ -2263,14 +2263,16 @@ xlsx_cond_fmt_formula_end (GsfXMLIn *xin, G_GNUC_UNUSED GsfXMLBlob *blob)
 {
 	XLSXReadState *state = (XLSXReadState *)xin->user_state;
 	GnmParsePos pp;
+	GnmExprTop const *texpr;
+
 	if (!state->cond || state->count > 1)
 		return;
 
 	parse_pos_init_sheet (&pp, state->sheet);
+	texpr = xlsx_parse_expr (xin, xin->content->str, &pp);
+	gnm_style_cond_set_expr (state->cond, texpr, state->count);
+	gnm_expr_top_unref (texpr);
 
-	gnm_style_cond_set_expr (state->cond,
-				 xlsx_parse_expr (xin, xin->content->str, &pp),
-				 state->count);
 	state->count++;
 }
 



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