| Index: testing/libfuzzer/pdf_fm2js_fuzzer.cc
|
| diff --git a/testing/libfuzzer/pdf_fm2js_fuzzer.cc b/testing/libfuzzer/pdf_fm2js_fuzzer.cc
|
| index 3e3bfae0d462d5992a1c1c4e25ada4e920d398a5..ced5e183994ed8def3406b3269dfc0d0d2980be1 100644
|
| --- a/testing/libfuzzer/pdf_fm2js_fuzzer.cc
|
| +++ b/testing/libfuzzer/pdf_fm2js_fuzzer.cc
|
| @@ -6,15 +6,17 @@
|
| #include <cstdint>
|
|
|
| #include "core/fxcrt/fx_basic.h"
|
| +#include "core/fxcrt/fx_safe_types.h"
|
| #include "core/fxcrt/fx_string.h"
|
| #include "xfa/fxfa/fm2js/xfa_program.h"
|
|
|
| extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
|
| - if (size > std::numeric_limits<FX_STRSIZE>::max())
|
| + FX_SAFE_STRSIZE safe_size = size;
|
| + if (!safe_size.IsValid())
|
| return 0;
|
|
|
| - CFX_WideString input = CFX_WideString::FromUTF8(
|
| - CFX_ByteStringC(data, static_cast<FX_STRSIZE>(size)));
|
| + CFX_WideString input =
|
| + CFX_WideString::FromUTF8(CFX_ByteStringC(data, safe_size.ValueOrDie()));
|
| CXFA_FMProgram program;
|
| if (program.Init(input.AsStringC()) || program.ParseProgram())
|
| return 0;
|
|
|