aboutsummaryrefslogtreecommitdiff
path: root/lib/docx/body-reader.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/docx/body-reader.js')
-rw-r--r--lib/docx/body-reader.js12
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);