| Index: fpdfsdk/javascript/util.cpp
|
| diff --git a/fpdfsdk/javascript/util.cpp b/fpdfsdk/javascript/util.cpp
|
| index f7b2d7fbfa51556cb1a475e39aa359ff516e64fe..0f50daf38c41d3ab07bb298a2e2a882c0607d531 100644
|
| --- a/fpdfsdk/javascript/util.cpp
|
| +++ b/fpdfsdk/javascript/util.cpp
|
| @@ -446,13 +446,17 @@ FX_BOOL util::byteToChar(IJS_Context* cc,
|
| const std::vector<CJS_Value>& params,
|
| CJS_Value& vRet,
|
| CFX_WideString& sError) {
|
| - int iSize = params.size();
|
| - if (iSize == 0)
|
| + CJS_Context* pContext = static_cast<CJS_Context*>(cc);
|
| + if (params.size() < 1) {
|
| + sError = JSGetStringFromID(pContext, IDS_STRING_JSPARAMERROR);
|
| + return FALSE;
|
| + }
|
| + int arg = params[0].ToInt();
|
| + if (arg < 0 || arg > 255) {
|
| + sError = JSGetStringFromID(pContext, IDS_STRING_JSVALUEERROR);
|
| return FALSE;
|
| - int nByte = params[0].ToInt();
|
| - unsigned char cByte = (unsigned char)nByte;
|
| - CFX_WideString csValue;
|
| - csValue.Format(L"%c", cByte);
|
| - vRet = csValue.c_str();
|
| + }
|
| + CFX_WideString wStr(static_cast<FX_WCHAR>(arg));
|
| + vRet = wStr.c_str();
|
| return TRUE;
|
| }
|
|
|