#include <stddef.h>
#include <stdint.h>
#include "bin/dartutils.h"
#include "platform/text_buffer.h"
#include "platform/unicode.h"
#include "platform/utils.h"
#include "vm/json_writer.h"
Go to the source code of this file.
◆ InitDartVM()
static int InitDartVM |
( |
| ) |
|
|
static |
◆ LLVMFuzzerInitialize()
int LLVMFuzzerInitialize |
( |
int * |
argc_in, |
|
|
char *** |
argv_in |
|
) |
| |
Definition at line 68 of file dart_libfuzzer.cc.
68 {
69
70 int argc = *argc_in;
71 char**
argv = *argv_in;
72 while (--argc > 0) {
74 if (*ptr++ == '-' && *ptr++ == '-' && *ptr++ == 't' && *ptr++ == '=') {
76 }
77 }
78
80}
◆ LLVMFuzzerTestOneInput()
int LLVMFuzzerTestOneInput |
( |
const uint8_t * |
Data, |
|
|
size_t |
Size |
|
) |
| |
Definition at line 85 of file dart_libfuzzer.cc.
85 {
87 case 0:
89 case 1:
91 default:
92 fprintf(stderr,
"dart_libfuzzer: invalid target --t=%d\n",
target);
93 return 1;
94 }
95}
static int TestUnicode(const uint8_t *Data, size_t Size)
static int TestUtilities(const uint8_t *Data, size_t Size)
◆ TestUnicode()
static int TestUnicode |
( |
const uint8_t * |
Data, |
|
|
size_t |
Size |
|
) |
| |
|
static |
Definition at line 19 of file dart_libfuzzer.cc.
19 {
25 uint16_t dst16[1024];
27 int32_t dst32[1024];
30 return 0;
31}
static bool DecodeToUTF32(const uint8_t *utf8_array, intptr_t array_len, int32_t *dst, intptr_t len)
static intptr_t CodeUnitCount(const uint8_t *utf8_array, intptr_t array_len, Type *type)
static intptr_t ReportInvalidByte(const uint8_t *utf8_array, intptr_t array_len, intptr_t len)
static bool IsValid(const uint8_t *utf8_array, intptr_t array_len)
static bool DecodeToUTF16(const uint8_t *utf8_array, intptr_t array_len, uint16_t *dst, intptr_t len)
static intptr_t Decode(const uint8_t *utf8_array, intptr_t array_len, int32_t *ch)
◆ TestUtilities()
static int TestUtilities |
( |
const uint8_t * |
Data, |
|
|
size_t |
Size |
|
) |
| |
|
static |
Definition at line 35 of file dart_libfuzzer.cc.
35 {
38
40 for (
size_t i = 0; i <
Size; i++) {
42 }
43 if (
static_cast<size_t>(
buffer.length()) != Size)
return 1;
45 if (
static_cast<size_t>(
buffer.length()) != 2 * Size)
return 1;
48 if (
static_cast<size_t>(
buffer.length()) != Size)
return 1;
49
51 writer.OpenObject("object");
52 writer.AppendBytes(Data, Size);
53 writer.CloseObject();
54 for (
size_t i = 0; i <
Size; i++) {
55 writer.PrintValue(static_cast<intptr_t>(Data[i]));
56 }
57 writer.PrintValueBase64(Data, Size);
58 return 0;
59}
static uint32_t StringHash(const void *data, int length)
static MagicNumber SniffForMagicNumber(const char *filename)
static const uint8_t buffer[]
◆ target