OLD | NEW |
1 // Copyright 2016 The PDFium Authors. All rights reserved. | 1 // Copyright 2016 The PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <cstddef> | 5 #include <cstddef> |
6 #include <cstdint> | 6 #include <cstdint> |
7 | 7 |
8 #include "core/include/fxcrt/fx_basic.h" | 8 #include "core/include/fxcrt/fx_basic.h" |
9 #include "core/include/fxcrt/fx_string.h" | 9 #include "core/include/fxcrt/fx_string.h" |
10 #include "xfa/src/fxfa/fm2js/xfa_program.h" | 10 #include "xfa/fxfa/fm2js/xfa_program.h" |
11 | 11 |
12 extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { | 12 extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { |
13 if (size > std::numeric_limits<FX_STRSIZE>::max()) | 13 if (size > std::numeric_limits<FX_STRSIZE>::max()) |
14 return 0; | 14 return 0; |
15 | 15 |
16 CFX_WideString input = CFX_WideString::FromUTF8( | 16 CFX_WideString input = CFX_WideString::FromUTF8( |
17 reinterpret_cast<const char*>(data), static_cast<FX_STRSIZE>(size)); | 17 reinterpret_cast<const char*>(data), static_cast<FX_STRSIZE>(size)); |
18 CXFA_FMProgram program; | 18 CXFA_FMProgram program; |
19 if (program.Init(input) || program.ParseProgram()) | 19 if (program.Init(input) || program.ParseProgram()) |
20 return 0; | 20 return 0; |
21 | 21 |
22 CFX_WideTextBuf js; | 22 CFX_WideTextBuf js; |
23 program.TranslateProgram(js); | 23 program.TranslateProgram(js); |
24 return 0; | 24 return 0; |
25 } | 25 } |
OLD | NEW |