Skip to content

Commit 3c7cfed

Browse files
DavidKorczynskiedsiper
authored andcommitted
tests: internal: fuzzers: cmetrics_fuzzer: extend
Extend cmetrics_fuzzer so it reaches prometheus decoding logic as well. Signed-off-by: David Korczynski <[email protected]>
1 parent e7f4da0 commit 3c7cfed

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

tests/internal/fuzzers/cmetrics_decode_fuzz.c

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
*/
1919

2020
#include <cmetrics/cmt_decode_opentelemetry.h>
21+
#include <cmetrics/cmt_decode_prometheus.h>
2122

2223

2324
int
@@ -34,7 +35,7 @@ LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
3435
return 0;
3536
}
3637

37-
decider = data[0] % 2;
38+
decider = data[0] % 3;
3839

3940
/* Adjust data pointer since the first byte is used */
4041
data += 1;
@@ -54,5 +55,15 @@ LLVMFuzzerTestOneInput(const uint8_t * data, size_t size)
5455
cmt_destroy(cmt);
5556
}
5657
}
58+
else if (decider == 2) {
59+
if (size == 0) {
60+
return 0;
61+
}
62+
struct cmt_decode_prometheus_parse_opts opts;
63+
result = cmt_decode_prometheus_create(&cmt, data, size, &opts);
64+
if (result == CMT_DECODE_PROMETHEUS_SUCCESS) {
65+
cmt_decode_prometheus_destroy(cmt);
66+
}
67+
}
5768
return 0;
5869
}

0 commit comments

Comments
 (0)