Commit 281a2e3c04175161da47e7880af2ab9134afca5c
Committed by
Philippe Lagadec
1 parent
a7938bfa
Adds an additional check to detect DDE (#205)
* Adds an additional check to detect if DDE links exist inside fldSimple values * clean-up to use TAG_W_INSTRATTR instead of constructing string during parsing
Showing
1 changed file
with
9 additions
and
1 deletions
oletools/msodde.py
| ... | ... | @@ -80,7 +80,8 @@ NS_WORD = 'http://schemas.openxmlformats.org/wordprocessingml/2006/main' |
| 80 | 80 | |
| 81 | 81 | # XML tag for 'w:instrText' |
| 82 | 82 | TAG_W_INSTRTEXT = '{%s}instrText' % NS_WORD |
| 83 | - | |
| 83 | +TAG_W_FLDSIMPLE = '{%s}fldSimple' % NS_WORD | |
| 84 | +TAG_W_INSTRATTR= '{%s}instr' % NS_WORD | |
| 84 | 85 | |
| 85 | 86 | # === FUNCTIONS ============================================================== |
| 86 | 87 | |
| ... | ... | @@ -111,6 +112,13 @@ def process_file(filepath): |
| 111 | 112 | # concatenate the text of the field, if present: |
| 112 | 113 | if elem.text is not None: |
| 113 | 114 | text += elem.text |
| 115 | + | |
| 116 | + for elem in root.iter(TAG_W_FLDSIMPLE): | |
| 117 | + # concatenate the attribute of the field, if present: | |
| 118 | + if elem.attrib is not None: | |
| 119 | + text += elem.attrib[TAG_W_INSTRATTR] | |
| 120 | + | |
| 121 | + | |
| 114 | 122 | return text |
| 115 | 123 | |
| 116 | 124 | ... | ... |