diff options
Diffstat (limited to 'lib/docx/body-reader.js')
| -rw-r--r-- | lib/docx/body-reader.js | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/docx/body-reader.js b/lib/docx/body-reader.js index 2ec9d0d..2c2a741 100644 --- a/lib/docx/body-reader.js +++ b/lib/docx/body-reader.js @@ -169,6 +169,12 @@ function BodyReader(options) { complexFieldStack.push({type: "begin", fldChar: element}); currentInstrText = []; } else if (type === "end") { + if (complexFieldStack.length === 0) { + return emptyResultWithMessages([warning( + "ignoring complex field end character without corresponding start character" + )]); + } + var complexFieldEnd = complexFieldStack.pop(); if (complexFieldEnd.type === "begin") { complexFieldEnd = parseCurrentInstrText(complexFieldEnd); @@ -179,6 +185,12 @@ function BodyReader(options) { })); } } else if (type === "separate") { + if (complexFieldStack.length === 0) { + return emptyResultWithMessages([warning( + "ignoring complex field separator character without corresponding start character" + )]); + } + var complexFieldSeparate = complexFieldStack.pop(); var complexField = parseCurrentInstrText(complexFieldSeparate); complexFieldStack.push(complexField); |
