/src/data_context_fuzzer.cc
Line | Count | Source (jump to first uncovered line) |
1 | | #include "sass.h" |
2 | | |
3 | 21 | extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { |
4 | 21 | char* sass_data = (char*) malloc(sizeof(char) * size + 1); |
5 | 21 | if (sass_data == NULL) return 0; |
6 | | |
7 | 21 | memcpy(sass_data, data, size); |
8 | 21 | sass_data[size] = '\0'; |
9 | | |
10 | 21 | struct Sass_Data_Context* ctx = sass_make_data_context(sass_data); |
11 | 21 | if (ctx == NULL) { |
12 | 0 | free(sass_data); |
13 | 0 | return 0; |
14 | 0 | } |
15 | | |
16 | 21 | struct Sass_Options* options = sass_make_options(); |
17 | 21 | if (options == NULL) { |
18 | 0 | sass_delete_data_context(ctx); |
19 | 0 | return 0; |
20 | 0 | } |
21 | | |
22 | 21 | sass_option_set_output_style(options, SASS_STYLE_NESTED); |
23 | 21 | sass_option_set_precision(options, 5); |
24 | | |
25 | 21 | sass_data_context_set_options(ctx, options); |
26 | 21 | sass_compile_data_context(ctx); |
27 | | |
28 | 21 | sass_delete_data_context(ctx); |
29 | 21 | sass_delete_options(options); |
30 | | |
31 | 21 | return 0; |
32 | 21 | } |