[gnumeric] xls: fuzzed file fix.



commit 0f69e30d7d2f5053c9e89cf0c6eee80291ae0117
Author: Morten Welinder <terra gnome org>
Date:   Sat Oct 17 15:03:36 2015 -0400

    xls: fuzzed file fix.

 NEWS                          |    2 +-
 plugins/excel/ChangeLog       |    3 +++
 plugins/excel/ms-excel-read.c |    5 +++++
 3 files changed, 9 insertions(+), 1 deletions(-)
---
diff --git a/NEWS b/NEWS
index 875fc02..3714687 100644
--- a/NEWS
+++ b/NEWS
@@ -2,7 +2,7 @@ Gnumeric 1.12.25
 
 Morten:
        * Fix TABLE problems.  [#752181]  [#752178]
-       * Fuzzed file fixes.  [#752179]
+       * Fuzzed file fixes.  [#752179]  [#752180]
 
 --------------------------------------------------------------------------
 Gnumeric 1.12.24
diff --git a/plugins/excel/ChangeLog b/plugins/excel/ChangeLog
index 25ff96c..ed880c5 100644
--- a/plugins/excel/ChangeLog
+++ b/plugins/excel/ChangeLog
@@ -1,5 +1,8 @@
 2015-10-17  Morten Welinder  <terra gnome org>
 
+       * ms-excel-read.c (excel_read_NAME): Handle deleted and selfref
+       sheet.
+
        * ms-formula-read.c (excel_parse_formula1): Handle deleted sheet.
 
 2015-09-20  Morten Welinder <terra gnome org>
diff --git a/plugins/excel/ms-excel-read.c b/plugins/excel/ms-excel-read.c
index 7dbe00f..0db14d9 100644
--- a/plugins/excel/ms-excel-read.c
+++ b/plugins/excel/ms-excel-read.c
@@ -4001,6 +4001,11 @@ excel_read_NAME (BiffQuery *q, GnmXLImporter *importer, ExcelReadSheet *esheet)
                                sheet = excel_externsheet_v7 (&importer->container, sheet_index);
                }
 
+               if (sheet == XL_EXTERNSHEET_MAGIC_SELFREF)
+                       sheet = esheet ? esheet->sheet : NULL;
+               else if (sheet == XL_EXTERNSHEET_MAGIC_DELETED)
+                       sheet = NULL;
+
                /* do we have a stub from a forward decl ? */
                if (importer->num_name_records < importer->names->len)
                        nexpr = g_ptr_array_index (importer->names, importer->num_name_records);


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