[libgsf] msole: plug leak



commit d6e363d09d11966d8b52bee750bda5d9d0e3a7da
Author: Morten Welinder <terra gnome org>
Date:   Tue Oct 28 17:55:44 2014 -0400

    msole: plug leak

 ChangeLog             |    6 ++++++
 NEWS                  |    4 ++++
 gsf/gsf-msole-utils.c |    2 ++
 gsf/gsf-utils.c       |    2 ++
 4 files changed, 14 insertions(+), 0 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 439aec3..f9b1683 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2014-10-28  Morten Welinder  <terra gnome org>
+
+       * gsf/gsf-utils.c: Avoid deprecated g_type_init.
+
+       * gsf/gsf-msole-utils.c (msole_prop_parse): Plug leak.
+
 2014-04-17  Morten Welinder  <terra gnome org>
 
        * gsf/gsf-outfile-zip.c (gsf_outfile_zip_set_property): Add new
diff --git a/NEWS b/NEWS
index c134561..8aa3728 100644
--- a/NEWS
+++ b/NEWS
@@ -3,6 +3,10 @@ libgsf 1.14.31
 Allin Cottrell:
        * Add support for non-default zip compression level.  [#722470]
 
+Morten:
+       * Plug leak.
+       * Dead kittens.
+
 --------------------------------------------------------------------------
 libgsf 1.14.30
 
diff --git a/gsf/gsf-msole-utils.c b/gsf/gsf-msole-utils.c
index 3d4dbcd..562d6ab 100644
--- a/gsf/gsf-msole-utils.c
+++ b/gsf/gsf-msole-utils.c
@@ -498,6 +498,7 @@ msole_prop_min_size (guint32 type)
        bytes_needed = (_n);                                            \
        if (_s1 > 0 && (data_end - *data) / _s1 < bytes_needed) {       \
                g_warning ("Invalid MS property or file truncated");    \
+               g_free (res);                                           \
                return NULL;                                            \
        }                                                               \
        bytes_needed *= _s1;                                            \
@@ -629,6 +630,7 @@ msole_prop_parse (GsfMSOleMetaDataSection *section,
                        g_warning ("Unhandled property value type %d (0x%x)",
                                   type, type);
                NEED_BYTES (8);
+               ADVANCE;
                break;
 
        case VT_BSTR :
diff --git a/gsf/gsf-utils.c b/gsf/gsf-utils.c
index c80c533..f9c53fa 100644
--- a/gsf/gsf-utils.c
+++ b/gsf/gsf-utils.c
@@ -112,7 +112,9 @@ gsf_init (void)
        bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
 #endif
 
+#if !GLIB_CHECK_VERSION(2,36,0)
        g_type_init ();
+#endif
 
 #ifdef _GSF_GTYPE_THREADING_FIXED
        if (NULL == static_type_module) {


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