Commit 3d75da3e40df05d194647c5af155cef77dc18bc7

Authored by Philippe Lagadec
Committed by GitHub
2 parents 40342031 a5ba31bf

Merge pull request #289 from christian-intra2net/msodde-no-error-condition

msodde: Determine when error condition actually is one
Showing 1 changed file with 4 additions and 3 deletions
oletools/msodde.py
... ... @@ -565,20 +565,21 @@ def process_docx(filepath, field_filter_mode=None):
565 565 continue
566 566  
567 567 # have a TAG_W_P
568   - elem = None
569 568 for curr_elem in subs:
570 569 # check if w:r; parse children to pull out first FLDCHAR/INSTRTEXT
  570 + elem = None
571 571 if curr_elem.tag in TAG_W_R:
572 572 for child in curr_elem:
573 573 if child.tag in TAG_W_FLDCHAR or \
574 574 child.tag in TAG_W_INSTRTEXT:
575 575 elem = child
576 576 break
  577 + if elem is None:
  578 + continue # no fldchar or instrtext in this w:r
577 579 else:
578 580 elem = curr_elem
579 581 if elem is None:
580   - logging.warning('this should be an error condition')
581   - continue
  582 + raise BadOOXML(filepath, 'Got "None"-Element from iter_xml')
582 583  
583 584 # check if FLDCHARTYPE and whether "begin" or "end" tag
584 585 attrib_type = elem.attrib.get(ATTR_W_FLDCHARTYPE[0]) or \
... ...