GNOME Bugzilla – Bug 627066
Out of memory reading ods format
Last modified: 2010-08-17 13:10:07 UTC
Created attachment 167982 [details] Corrupted ods file ../src/ssconvert 'zzuftmp/mmm-3023.ods' 'zzuftmp/mmm-3023.gnumeric' Using exporter Gnumeric_XmlIO:sax GLib-ERROR **: gmem.c:175: failed to allocate 1073741824 bytes aborting... Aborted We're trying to generate an absurd format.
+ Trace 223259
(gdb) p *details $1 = {family = GO_FORMAT_SCIENTIFIC, magic = GO_FORMAT_MAGIC_NONE, min_digits = 1, num_decimals = 711379426, thousands_sep = 0, negative_red = 0, negative_paren = 0, currency = 0x0, force_quoted = 0, exponent_step = 1, use_markup = 0, simplify_mantissa = 0}
I would think this should be checked in go_format_generate_str
That's possible. We are not able to return an error code there, but I guess we can silently truncate at 2*DECIMAL_DIGITS or #mantissa bits. (Yes, bits: one bit gives rise to one decimal.)
exponent_step is also going to need some care. And we need to check for negative values.
This problem has been fixed in our software repository. The fix will go into the next software release. Thank you for your bug report.