From: John Darrington <john@darrington.wattle.id.au>
Date: Sat, 16 Feb 2013 06:59:29 +0000 (+0100)
Subject: Return NULL if not a gnumeric file
X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1509c6773d7302a2753c4f47b3e52fc5e3cca185;p=pspp

Return NULL if not a gnumeric file
---

diff --git a/src/data/gnumeric-reader.c b/src/data/gnumeric-reader.c
index 7bec97a9e0..07b8816339 100644
--- a/src/data/gnumeric-reader.c
+++ b/src/data/gnumeric-reader.c
@@ -488,6 +488,14 @@ gnumeric_reopen (struct gnumeric_reader *r, const char *filename)
       process_node (r);
     }
 
+  if ( ret != 1)
+    {
+      /* Does not seem to be a gnumeric file */
+      xmlFreeTextReader (r->xtr);
+      free (r);
+      return NULL;
+    }
+
   r->spreadsheet.type = SPREADSHEET_GNUMERIC;
 
   return r;
diff --git a/src/ui/gui/page-file.c b/src/ui/gui/page-file.c
index 48db5a2a16..a781fcad2e 100644
--- a/src/ui/gui/page-file.c
+++ b/src/ui/gui/page-file.c
@@ -96,9 +96,13 @@ init_file (struct import_assistant *ia, GtkWindow *parent_window)
   sri.read_names = true;
   sri.asw = -1;
 
+  printf ("%s:%d %p\n", __FILE__, __LINE__, ia->spreadsheet);
+
   if (ia->spreadsheet == NULL)
     ia->spreadsheet = gnumeric_probe (file->file_name);
 
+  printf ("%s:%d %p\n", __FILE__, __LINE__, ia->spreadsheet);
+
   if (ia->spreadsheet == NULL)
     ia->spreadsheet = ods_probe (file->file_name);