envoyproxy / envoyproxy/envoy

grpc async client should catch proto cast exception

Ouverte
#5,409 2 commentaires 0 réactions 1 personne assignée Réclamée par @hello-jianghongke Voir sur GitHub
enhancement help wanted
Langage dominant
C++
Étoiles
28.9k
Forks
5.6k
Merge moyen
1 j 22 h
PR mergées (30 j)
430

Description

*Title*: *grpc async client should catch proto cast exception*

*Description*:
> grpc async client proto cast catches no exception as follows:
`include\envoy\grpc\async_client.h`
```
void onReceiveMessageUntyped(ProtobufTypes::MessagePtr&& message) override {
onReceiveMessage(std::unique_ptr(dynamic_cast(message.release())));
}
```
which may crashs the process when the received message is not standard, like `00 00 00 00 00`.

And should be modified as follows:
```
void onReceiveMessageUntyped(ProtobufTypes::MessagePtr&& message) override {
try {
onReceiveMessage(std::unique_ptr(dynamic_cast(message.release())));
} catch(const std::exception& e) {
std::cout << "wrong message received, error: " << e.what() << std::endl;
}
}
```

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.