summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFred Ross-Perry <fred.ross-perry@artifex.com>2018-08-06 14:20:43 -0700
committerTor Andersson <tor.andersson@artifex.com>2018-08-10 14:09:46 +0200
commit199668e936ba87e2f9d88562d83b89dc3cc40a5a (patch)
tree53b8b2b8c41a9803138aa57516212449028f4679
parente6f8306a52420bd832ac8899c722a078bb8e274a (diff)
downloadmupdf-199668e936ba87e2f9d88562d83b89dc3cc40a5a.tar.xz
Check that characters aren't left over in AFSpecial_KeystrokeEx.
In the Javascript function AFSpecial_KeystrokeEx, if there are characters left over after exhausting the format string, it's not a match.
-rw-r--r--source/pdf/js/util.js4
-rw-r--r--source/pdf/js/util.js.h4
2 files changed, 8 insertions, 0 deletions
diff --git a/source/pdf/js/util.js b/source/pdf/js/util.js
index 03e4a61b..dd58dff7 100644
--- a/source/pdf/js/util.js
+++ b/source/pdf/js/util.js
@@ -717,6 +717,10 @@ function AFSpecial_KeystrokeEx(fmt) {
i++;
}
+ // If there are characters left over in the value, it's not a match.
+ if (val.length > 0)
+ event.rc = false;
+
if (event.rc)
event.value = res;
else if (event.willCommit)
diff --git a/source/pdf/js/util.js.h b/source/pdf/js/util.js.h
index de27f97d..a8bf9619 100644
--- a/source/pdf/js/util.js.h
+++ b/source/pdf/js/util.js.h
@@ -717,6 +717,10 @@
"i++;\n"
"}\n"
"\n"
+"\n"
+"if (val.length > 0)\n"
+"event.rc = false;\n"
+"\n"
"if (event.rc)\n"
"event.value = res;\n"
"else if (event.willCommit)\n"