envoyproxy / envoyproxy/envoy-mobile

core: prevent calling decode* with end_stream == true more than once

Aperta
#692 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
core ergonomics no stalebot
Lingua principale
Java
Stelle
566
Fork
85
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

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.

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.