GNOME Bugzilla – Bug 748477
Crash (SIGABRT) on exporting to .xlsx
Last modified: 2015-04-26 16:10:21 UTC
Git versions of glib, goffice, gnumeric, libgsf and libxml2. A fuzzed test case: http://jutaky.com/fuzzing/gnumeric_case_7145_256.gnumeric Open the file using Gnumeric and save as MS Excel 2010 (.xlsx) and Gnumeric crashes. Alternatively "ssconvert gnumeric_case_7145_256.gnumeric /tmp/out.xlsx". Trace from ssconvert: Program received signal SIGABRT, Aborted. 0x00007ffff07944b7 in raise () from /usr/lib/libc.so.6 (gdb) bt
+ Trace 235002
-- Juha Kylmänen
Confirmed. First valgrind event is... ==6035== Invalid read of size 8 ==6035== at 0x14D2C094: xlsx_write_shared_strings (xlsx-write.c:514) ==6035== by 0x14D3C204: xlsx_write_workbook (xlsx-write.c:3097) ==6035== by 0x14D3CA6B: xlsx2_file_save (xlsx-write.c:3259) ==6035== by 0x541B875: go_plugin_file_saver_save (go-plugin-service.c:948) ==6035== by 0x4F9AFEC: wbv_save_to_output (workbook-view.c:1059) ==6035== by 0x4F9B0F6: wb_view_save_to_uri (workbook-view.c:1093) ==6035== by 0x4F9B300: wb_view_save_as (workbook-view.c:1129) ==6035== by 0x4047A9: convert (ssconvert.c:831) ==6035== by 0x403AD6: main (ssconvert.c:903) ==6035== Address 0x14966668 is 8 bytes inside a block of size 24 free'd ==6035== at 0x4C28ADC: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==6035== by 0x8B6B8D4: ??? (in /usr/lib64/libglib-2.0.so.0.3800.2) ==6035== by 0x8B6BA26: ??? (in /usr/lib64/libglib-2.0.so.0.3800.2) ==6035== by 0x14D2BF97: xlsx_shared_string (xlsx-write.c:481) ==6035== by 0x14D2F1DC: xlsx_write_cells (xlsx-write.c:1667) ==6035== by 0x14D39907: xlsx_write_sheet (xlsx-write.c:2892) ==6035== by 0x14D3C1B4: xlsx_write_workbook (xlsx-write.c:3093) ==6035== by 0x14D3CA6B: xlsx2_file_save (xlsx-write.c:3259) ==6035== by 0x541B875: go_plugin_file_saver_save (go-plugin-service.c:948) ==6035== by 0x4F9AFEC: wbv_save_to_output (workbook-view.c:1059) ==6035== by 0x4F9B0F6: wb_view_save_to_uri (workbook-view.c:1093) ==6035== by 0x4F9B300: wb_view_save_as (workbook-view.c:1129) ==6035== by 0x4047A9: convert (ssconvert.c:831) ==6035== by 0x403AD6: main (ssconvert.c:903) There are earlier criticals. First one is...
+ Trace 235004
Crash fixed; criticals remain.
This problem has been fixed in our software repository. The fix will go into the next software release. Once that release is available, you may want to check for a software upgrade provided by your Linux distribution.