From 083a7dfcc114ea8ff80727a5da966155495a8e7c Mon Sep 17 00:00:00 2001 From: Jean-Francois Dockes Date: Tue, 26 Mar 2019 09:19:47 +0100 Subject: [PATCH] msodumper 1d64ca83 : catch exceptions in xls-dump to avoid system reports --- src/filters/xls-dump.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/filters/xls-dump.py b/src/filters/xls-dump.py index a27da02d..4aefef80 100755 --- a/src/filters/xls-dump.py +++ b/src/filters/xls-dump.py @@ -7,6 +7,7 @@ from builtins import range import sys, os.path, optparse sys.path.append(sys.path[0]+"/msodump.zip") +import traceback from msodumper import ole, xlsstream, globals, node, xlsmodel, olestream from msodumper import xlsparser, msocrypto @@ -232,7 +233,15 @@ def main (): elif options.dump_mode == 'xml': dumper.dumpXML() elif options.dump_mode == 'canonical-xml' or options.dump_mode == 'cxml': - dumper.dumpCanonicalXML() + try: + dumper.dumpCanonicalXML() + except Exception as err: + if globals.params.catchExceptions: + traceback.print_exc() + else: + raise + globals.error("Dump failed") + sys.exit(1) else: error("unknown dump mode: '%s'\n"%options.dump_mode) parser.print_help()