Coverage Report

Created: 2026-01-15 06:28

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/git/oss-fuzz/fuzz-url-decode-mem.c
Line
Count
Source
1
#include "git-compat-util.h"
2
#include <stddef.h>
3
#include <stdlib.h>
4
#include <stdint.h>
5
#include <string.h>
6
#include <stdio.h>
7
#include "url.h"
8
9
int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size);
10
11
int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
12
439
{
13
439
  char *buf;
14
439
  char *r;
15
439
  const char *pbuf;
16
17
439
  buf = malloc(size + 1);
18
439
  if (!buf)
19
0
    return 0;
20
21
439
  memcpy(buf, data, size);
22
439
  buf[size] = 0;
23
24
  // start fuzzing
25
439
  r = url_decode(buf);
26
439
  free(r);
27
28
439
  r = url_percent_decode(buf);
29
439
  free(r);
30
31
439
  pbuf = (const char*) buf;
32
439
  r = url_decode_parameter_name(&pbuf);
33
439
  free(r);
34
35
439
  pbuf = (const char*) buf;
36
439
  r = url_decode_parameter_value(&pbuf);
37
439
  free(r);
38
39
  // cleanup
40
439
  free(buf);
41
42
439
  return 0;
43
439
}