Commit 3d75da3e40df05d194647c5af155cef77dc18bc7
Committed by
GitHub
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,20 +565,21 @@ def process_docx(filepath, field_filter_mode=None): | ||
| 565 | continue | 565 | continue |
| 566 | 566 | ||
| 567 | # have a TAG_W_P | 567 | # have a TAG_W_P |
| 568 | - elem = None | ||
| 569 | for curr_elem in subs: | 568 | for curr_elem in subs: |
| 570 | # check if w:r; parse children to pull out first FLDCHAR/INSTRTEXT | 569 | # check if w:r; parse children to pull out first FLDCHAR/INSTRTEXT |
| 570 | + elem = None | ||
| 571 | if curr_elem.tag in TAG_W_R: | 571 | if curr_elem.tag in TAG_W_R: |
| 572 | for child in curr_elem: | 572 | for child in curr_elem: |
| 573 | if child.tag in TAG_W_FLDCHAR or \ | 573 | if child.tag in TAG_W_FLDCHAR or \ |
| 574 | child.tag in TAG_W_INSTRTEXT: | 574 | child.tag in TAG_W_INSTRTEXT: |
| 575 | elem = child | 575 | elem = child |
| 576 | break | 576 | break |
| 577 | + if elem is None: | ||
| 578 | + continue # no fldchar or instrtext in this w:r | ||
| 577 | else: | 579 | else: |
| 578 | elem = curr_elem | 580 | elem = curr_elem |
| 579 | if elem is None: | 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 | # check if FLDCHARTYPE and whether "begin" or "end" tag | 584 | # check if FLDCHARTYPE and whether "begin" or "end" tag |
| 584 | attrib_type = elem.attrib.get(ATTR_W_FLDCHARTYPE[0]) or \ | 585 | attrib_type = elem.attrib.get(ATTR_W_FLDCHARTYPE[0]) or \ |