gnumeric r16336 - in trunk: . plugins/excel



Author: mortenw
Date: Sat Feb  2 15:04:34 2008
New Revision: 16336
URL: http://svn.gnome.org/viewvc/gnumeric?rev=16336&view=rev

Log:
2008-02-02  Morten Welinder  <terra gnome org>

	* ms-excel-read.c (excel_read_workbook) [BIFF_DSF]: Properly check
	record length.  Fixes #513835.



Modified:
   trunk/NEWS
   trunk/plugins/excel/ChangeLog
   trunk/plugins/excel/ms-excel-read.c

Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS	(original)
+++ trunk/NEWS	Sat Feb  2 15:04:34 2008
@@ -18,7 +18,7 @@
 	* Fix solver issue.  [#512500]
 	* Fix corrupted-xls-file problems.  [#512984] [#513005] [#513313]
 	  [#513317] [#513361] [#513364] [#513551] [#513605] [#513608] [#513790]
-	  [#513787]
+	  [#513787] [#513835]
 	* Fix non-ascii export problem.  [#511135]
 	* Band-aid evaluation problem with broken xls.  [#513559]
 	* Fix circular array formula problem.

Modified: trunk/plugins/excel/ms-excel-read.c
==============================================================================
--- trunk/plugins/excel/ms-excel-read.c	(original)
+++ trunk/plugins/excel/ms-excel-read.c	Sat Feb  2 15:04:34 2008
@@ -6463,11 +6463,15 @@
 
 		case BIFF_DSF:		/* stored in the biff8 workbook */
 		case BIFF_XL5MODIFY:	/* stored in the biff5/7 book */
+		{
+			gboolean dsf = (q->length >= 2 &&
+					GSF_LE_GET_GUINT16 (q->data));
 			d (0, fprintf (stderr, "Double stream file : %d\n",
-				       GSF_LE_GET_GUINT16 (q->data)););
-			if (GSF_LE_GET_GUINT16 (q->data))
+				       dsf););
+			if (dsf)
 				*is_double_stream_file = TRUE;
 			break;
+		}
 
 		case BIFF_XL9FILE:
 			d (0, puts ("XL 2000 file"););



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