|  | // Copyright 2018 The PDFium Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | #include "core/fxcrt/widestring.h" | 
|  | #include "fxjs/cjs_util.h" | 
|  |  | 
|  | extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { | 
|  | auto* short_data = reinterpret_cast<const unsigned short*>(data); | 
|  | size_t short_size = size / sizeof(unsigned short); | 
|  | if (short_size > 1) { | 
|  | WideString input = WideString::FromUTF16LE(short_data, short_size); | 
|  | CJS_Util::ParseDataType(&input); | 
|  | } | 
|  | if (short_size > 2) { | 
|  | size_t short_len1 = short_size / 2; | 
|  | size_t short_len2 = short_size - short_len1; | 
|  | WideString input1 = WideString::FromUTF16LE(short_data, short_len1); | 
|  | WideString input2 = | 
|  | WideString::FromUTF16LE(short_data + short_len1, short_len2); | 
|  | CJS_Util::StringPrintx(input1, input2); | 
|  | } | 
|  | return 0; | 
|  | } |