envoyproxy / envoyproxy/envoy-mobile
core: prevent calling decode* with end_stream == true more than once
Open
core
ergonomics
no stalebot
- Dominant language
- Java
- Stars
- 566
- Forks
- 85
- PR merge metrics
- No merged PRs in 30d
Description
Envoy Mobile's http dispatcher does not defend against a user calling one of the send_* functions with `end_stream == true` for the same stream more than once. If this happens, Envoy's `ConnectionManagerImpl::ActiveStream::maybeEndDecode` will hit an assertion:
https://github.com/envoyproxy/envoy/blob/d46ffd20c5cfdd7b6cc8af6b648d4eee49ecf31f/source/common/http/conn_manager_impl.cc#L1280
And cause the calling application to crash. Envoy Mobile could defend against this user error in different ways: raise an onError, silently swallow, etc.
Contributor guide
Assessment
This issue has not been assessed yet.