| #include "git-compat-util.h" | |
| #include <stddef.h> | |
| #include <stdlib.h> | |
| #include <stdint.h> | |
| #include <string.h> | |
| #include <stdio.h> | |
| #include "url.h" | |
| int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size); | |
| int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) | |
| { | |
| char *buf; | |
| char *r; | |
| const char *pbuf; | |
| buf = malloc(size + 1); | |
| if (!buf) | |
| return 0; | |
| memcpy(buf, data, size); | |
| buf[size] = 0; | |
| // start fuzzing | |
| r = url_decode(buf); | |
| free(r); | |
| r = url_percent_decode(buf); | |
| free(r); | |
| pbuf = (const char*) buf; | |
| r = url_decode_parameter_name(&pbuf); | |
| free(r); | |
| pbuf = (const char*) buf; | |
| r = url_decode_parameter_value(&pbuf); | |
| free(r); | |
| // cleanup | |
| free(buf); | |
| return 0; | |
| } |