Fix incorrectly guarded lexer advancement in FormCalc parser

BUG=chromium:752501

Change-Id: Ie9943cd80a4afa73ad9393c8bcd2aa2656a9d932
Reviewed-on: https://pdfium-review.googlesource.com/12290
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
diff --git a/xfa/fxfa/fm2js/cxfa_fmparser.cpp b/xfa/fxfa/fm2js/cxfa_fmparser.cpp
index 2981a4d..18c37c5 100644
--- a/xfa/fxfa/fm2js/cxfa_fmparser.cpp
+++ b/xfa/fxfa/fm2js/cxfa_fmparser.cpp
@@ -814,7 +814,7 @@
         }
         CFX_WideStringC tempStr = m_token->m_string;
         uint32_t tempLine = m_token->m_line_num;
-        if (NextToken())
+        if (!NextToken())
           return nullptr;
         if (m_token->m_type != TOKlbracket) {
           std::unique_ptr<CXFA_FMSimpleExpression> s =
diff --git a/xfa/fxfa/fm2js/cxfa_fmparser_unittest.cpp b/xfa/fxfa/fm2js/cxfa_fmparser_unittest.cpp
index 214fd4a..4a17067 100644
--- a/xfa/fxfa/fm2js/cxfa_fmparser_unittest.cpp
+++ b/xfa/fxfa/fm2js/cxfa_fmparser_unittest.cpp
@@ -114,3 +114,12 @@
   EXPECT_EQ(nullptr, parser->Parse());
   EXPECT_TRUE(parser->HasError());
 }
+
+TEST(CFXA_FMParserTest, chromium752201) {
+  auto parser = pdfium::MakeUnique<CXFA_FMParser>(
+      L"fTep a\n"
+      L".#\n"
+      L"fo@ =[=l");
+  EXPECT_EQ(nullptr, parser->Parse());
+  EXPECT_TRUE(parser->HasError());
+}