| #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; |
| } |