[libgsf] OLE properties: fix criticals. [#584848]



commit 582a0e42f9390a5b5111ef479cd1dc4be5ee0322
Author: Morten Welinder <terra gnome org>
Date:   Fri Jun 5 13:24:47 2009 -0400

    OLE properties: fix criticals.  [#584848]
---
 ChangeLog             |    5 +++++
 NEWS                  |    3 +++
 gsf/gsf-msole-utils.c |    6 ++++--
 3 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 1a702b1..9174816 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2009-06-05  Morten Welinder  <terra gnome org>
+
+	* gsf/gsf-msole-utils.c (msole_prop_parse): If parsing fails,
+	don't return a bogus value.  Fixes #584848.
+
 2009-05-26  Andreas J. Guelzow <aguelzow pyrshep ca>
 
 	* gsf/gsf-opendoc-utils.h (gsf_odf_version): deleted
diff --git a/NEWS b/NEWS
index d4f82f5..4d4f609 100644
--- a/NEWS
+++ b/NEWS
@@ -3,6 +3,9 @@ libgsf 1.14.15
 Andreas:
 	* Bump ODF version to 1.1 and add enum to inform users. 
 
+Morten:
+	* Fix criticals when parsing bogus OLE properties.  [#584848]
+
 --------------------------------------------------------------------------
 libgsf 1.14.14
 
diff --git a/gsf/gsf-msole-utils.c b/gsf/gsf-msole-utils.c
index 7feb7a2..83cc8b9 100644
--- a/gsf/gsf-msole-utils.c
+++ b/gsf/gsf-msole-utils.c
@@ -932,11 +932,13 @@ msole_prop_parse (GsfMSOleMetaDataSection *section,
 		d ({
 			char const *type_name = msole_vt_name (type);
 			if (type_name) {
-				g_print ("A '%s' property could not be parsed\n", type_name);
+				g_printerr ("A '%s' property could not be parsed\n", type_name);
 			} else {
-				g_print ("A %d property could not be parsed\n", type);
+				g_printerr ("A %d property could not be parsed\n", type);
 			}
 		});
+		g_free (res);
+		res = NULL;
 	}
 	return res;
 }



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