From d3a3cc24a034654b0825e4822446ddfc6a22c045 Mon Sep 17 00:00:00 2001 From: Lei Zhang Date: Tue, 16 May 2017 10:48:51 -0700 Subject: Handle when XFA parser error handlers cannot format error messages. Limit the length of error messages to avoid string formatting failure. Simplify some CXFA_FMParse error handling code too. BUG=chromium:708428 Change-Id: I2f5fdb61349a90b3ba681dcc04a26ce0d7f2bdda Reviewed-on: https://pdfium-review.googlesource.com/5331 Commit-Queue: Lei Zhang Reviewed-by: dsinclair --- xfa/fxfa/parser/cxfa_object.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'xfa/fxfa/parser') diff --git a/xfa/fxfa/parser/cxfa_object.cpp b/xfa/fxfa/parser/cxfa_object.cpp index 30aae88307..bd7daec83a 100644 --- a/xfa/fxfa/parser/cxfa_object.cpp +++ b/xfa/fxfa/parser/cxfa_object.cpp @@ -45,7 +45,7 @@ void CXFA_Object::ThrowIndexOutOfBoundsException() const { void CXFA_Object::ThrowParamCountMismatchException( const CFX_WideString& method) const { - ThrowException(L"Incorrect number of parameters calling method '%s'.", + ThrowException(L"Incorrect number of parameters calling method '%.16s'.", method.c_str()); } @@ -59,6 +59,7 @@ void CXFA_Object::ThrowException(const wchar_t* str, ...) const { va_start(arg_ptr, str); wsMessage.FormatV(str, arg_ptr); va_end(arg_ptr); + ASSERT(!wsMessage.IsEmpty()); FXJSE_ThrowMessage(wsMessage.UTF8Encode().AsStringC()); } -- cgit v1.2.3