After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 557077 - XLS import crash
XLS import crash
Status: RESOLVED FIXED
Product: Gnumeric
Classification: Applications
Component: import/export MS Excel (tm)
git master
Other All
: Normal critical
: ---
Assigned To: Jody Goldberg
Jody Goldberg
Depends on:
Blocks:
 
 
Reported: 2008-10-20 13:28 UTC by Morten Welinder
Modified: 2008-10-21 14:50 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Bad XLS file (8.00 KB, application/x-excel)
2008-10-20 13:30 UTC, Morten Welinder
Details

Description Morten Welinder 2008-10-20 13:28:32 UTC
Upcoming file creating from file over in 557027 crashes Gnumeric.
Comment 1 Morten Welinder 2008-10-20 13:30:34 UTC
Created attachment 120923 [details]
Bad XLS file
Comment 2 Morten Welinder 2008-10-20 13:33:02 UTC


  • #0 xl_chart_read_end
    at ms-chart.c line 2575
  • #1 ms_excel_chart_read
    at ms-chart.c line 3539
  • #2 ms_excel_chart_read_BOF
    at ms-chart.c line 3758
  • #3 ms_read_OBJ
    at ms-obj.c line 1279
  • #4 ms_escher_read_ClientData
    at ms-escher.c line 1993
  • #5 ms_escher_read_container
    at ms-escher.c line 2099
  • #6 ms_escher_read_container
    at ms-escher.c line 2099
  • #7 ms_escher_read_container
    at ms-escher.c line 2099
  • #8 ms_escher_read_container
    at ms-escher.c line 2099

(gdb) l
2570					gog_object_add_by_name (GOG_OBJECT (s->chart), "Y-Axis", GOG_OBJECT (l->data));
2571					l = l->next;
2572				}
2573				g_slist_free (axisZ);
2574				/* examine the first series to retreive categories */
2575				eseries = g_ptr_array_index (s->series, 0);
2576				style = eseries->style;
2577				if (!IS_GO_DATA_VECTOR (eseries->data [GOG_MS_DIM_CATEGORIES].data))
2578					goto not_a_matrix;
2579				cat_expr = gnm_go_data_get_expr (eseries->data [GOG_MS_DIM_CATEGORIES].data);
(gdb) p s->series
$2 = (GPtrArray *) 0x8bad00
(gdb) p *s->series
$3 = {pdata = 0x0, len = 0}
Comment 3 Jean Bréfort 2008-10-20 14:19:36 UTC
no series were exported to this file because there were no data in the original file, so g_ptr_array_index crashes. Adding a test (s->series->len == 0) and jumping out on success fixes it easily.
Comment 4 Morten Welinder 2008-10-21 14:50:19 UTC
This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.