From 756d37943415ca15d491b79ba78012225a06db76 Mon Sep 17 00:00:00 2001 From: dsinclair Date: Tue, 14 Jun 2016 07:34:20 -0700 Subject: Add fuzzer for FDE CSS syntax parser. This CL adds a fuzzer for the CSS Syntax parser in XFA. BUG=chromium:587126 Review-Url: https://codereview.chromium.org/2068513002 --- xfa/fxfa/parser/xfa_basic_imp.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'xfa/fxfa') diff --git a/xfa/fxfa/parser/xfa_basic_imp.cpp b/xfa/fxfa/parser/xfa_basic_imp.cpp index 86a96bbd63..f7c2606501 100644 --- a/xfa/fxfa/parser/xfa_basic_imp.cpp +++ b/xfa/fxfa/parser/xfa_basic_imp.cpp @@ -557,9 +557,10 @@ int32_t CXFA_WideTextRead::ReadString(FX_WCHAR* pStr, int32_t iMaxLength, FX_BOOL& bEOS, int32_t const* pByteSize) { - if (iMaxLength > m_wsBuffer.GetLength() - m_iPosition) { - iMaxLength = m_wsBuffer.GetLength() - m_iPosition; - } + iMaxLength = std::min(iMaxLength, m_wsBuffer.GetLength() - m_iPosition); + if (iMaxLength == 0) + return 0; + FXSYS_wcsncpy(pStr, m_wsBuffer.c_str() + m_iPosition, iMaxLength); m_iPosition += iMaxLength; bEOS = IsEOF(); -- cgit v1.2.3