Coverage Report

Created: 2025-10-10 06:02

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/nanopb/tests/build/fuzztest/flakystream.c
Line
Count
Source
1
#include "flakystream.h"
2
#include <string.h>
3
4
bool flakystream_callback(pb_istream_t *stream, pb_byte_t *buf, size_t count)
5
78.0M
{
6
78.0M
    flakystream_t *state = stream->state;
7
8
78.0M
    if (state->position + count > state->msglen)
9
11.5k
    {
10
11.5k
        stream->bytes_left = 0;
11
11.5k
        return false;
12
11.5k
    }
13
78.0M
    else if (state->position + count > state->fail_after)
14
4.62k
    {
15
4.62k
        PB_RETURN_ERROR(stream, "flaky error");
16
4.62k
    }
17
18
78.0M
    memcpy(buf, state->buffer + state->position, count);
19
78.0M
    state->position += count;
20
78.0M
    return true;
21
78.0M
}
22
23
void flakystream_init(flakystream_t *stream, const uint8_t *buffer, size_t msglen, size_t fail_after)
24
19.4k
{
25
19.4k
    memset(stream, 0, sizeof(*stream));
26
19.4k
    stream->stream.callback = flakystream_callback;
27
    stream->stream.bytes_left = SIZE_MAX;
28
19.4k
    stream->stream.state = stream;
29
19.4k
    stream->buffer = buffer;
30
19.4k
    stream->position = 0;
31
19.4k
    stream->msglen = msglen;
32
19.4k
    stream->fail_after = fail_after;
33
19.4k
}