Language: Java
Label: vulnerable
CWE: CWE-400 \u2014 Uncontrolled Resource Consumption
The product does not properly control the allocation and maintenance of a limited resource, thereby enabling an actor to influence the amount of resources consumed, eventually leading to the exhaustion of available resources.

Code:
    public void buildFrameInSeveralCalls() throws IOException {
        buffer = ByteBuffer.wrap(new byte[] { 1, 0, 0, 0, 0, 0, 3, 1, 2 });
        builder = new FrameBuilder(channel, buffer);
        Frame frame = builder.readFrame();
        assertThat(frame).isNull();

        buffer.clear();
        buffer.put(b(3)).put(end());
        buffer.flip();

        frame = builder.readFrame();
        assertThat(frame).isNotNull();
        assertThat(frame.type).isEqualTo(1);
        assertThat(frame.channel).isEqualTo(0);
        assertThat(frame.getPayload()).hasSize(3);
    }