| #define DISABLE_SIGN_COMPARE_WARNINGS |
| |
| #include "git-compat-util.h" |
| #include <stddef.h> |
| #include <stdlib.h> |
| #include <stdint.h> |
| #include <string.h> |
| #include "attr.h" |
| |
| int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size); |
| |
| int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) |
| { |
| struct match_attr *res; |
| char *buf; |
| |
| buf = malloc(size + 1); |
| if (!buf) |
| return 0; |
| |
| memcpy(buf, data, size); |
| buf[size] = 0; |
| |
| res = parse_attr_line(buf, "dummy", 0, 0); |
| |
| if (res) { |
| size_t j; |
| for (j = 0; j < res->num_attr; j++) { |
| const char *setto = res->state[j].setto; |
| if (ATTR_TRUE(setto) || ATTR_FALSE(setto) || |
| ATTR_UNSET(setto)) |
| ; |
| else |
| free((char *)setto); |
| } |
| free(res); |
| } |
| free(buf); |
| |
| return 0; |
| } |