Files
h2/tests/h2-tests
Geoffry Song ea8b8ac2fd Avoid prematurely unlinking streams in send_reset, in some cases. (#319)
Because `send_reset` called `recv_err`, which calls `reclaim_all_capacity`,
which eventually calls `transition(stream, ..)` -- all of which happens _before_
the RESET frame is enqueued -- it was possible for the stream to get unlinked
from the store (if there was any connection-level capacity to reassign). This
could then cause the stream to get "leaked" on drop/EOF since it would no longer
be iterated.

Fix this by delaying the call to `reclaim_all_capacity` _after_ enqueueing the
RESET frame.

A test demonstrating the issue is included.
2018-10-16 11:59:22 -07:00
..
2018-05-10 14:48:02 -07:00

h2 integration tests

This crate includes the h2 integration tests. These tests exist in a separate crate because they transitively depend on the unstable feature flag via h2-support. Due to a cargo limitation, if these tests existed as part of the h2 crate, it would require that h2-support be published to crates.io and force the unstable feature flag to always be on.

Setup

Install honggfuzz for cargo:

cargo install honggfuzz

Running

From within this directory, run the following command:

HFUZZ_RUN_ARGS="-t 1" cargo hfuzz run h2-fuzz