From 2eef64cba5c8e08a9e625f4aba5a7fbdc8e62bad Mon Sep 17 00:00:00 2001 From: Dan Sinclair Date: Tue, 16 May 2017 11:45:23 -0400 Subject: Do not walk off end of formcalc string MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The fm2js code takes a pointer to the input string and then walks along that pointer. There are currently no checks to verify we haven't walked off the end of the pointer into random memory. If this happens, we can end up allocating large chunks of memory and copying random bits. BUG=chromium:721533 Change-Id: Ia61fe96c1ff9eb9ded63cf8326b7be44986bd9e1 Reviewed-on: https://pdfium-review.googlesource.com/5550 Commit-Queue: dsinclair Reviewed-by: Nicolás Peña Reviewed-by: Lei Zhang --- xfa/fxfa/fm2js/xfa_error.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'xfa/fxfa/fm2js/xfa_error.cpp') diff --git a/xfa/fxfa/fm2js/xfa_error.cpp b/xfa/fxfa/fm2js/xfa_error.cpp index 1d31ce6958..ea0511a89a 100644 --- a/xfa/fxfa/fm2js/xfa_error.cpp +++ b/xfa/fxfa/fm2js/xfa_error.cpp @@ -17,3 +17,4 @@ const wchar_t kFMErrExpectedNonEmptyExpression[] = L"expected non-empty expression"; const wchar_t kFMErrLongAssignmentChain[] = L"long assignment chains are unsupported"; +const wchar_t kFMErrEndOfInput[] = L"unexpected end of input"; -- cgit v1.2.3