diff options
author | Lutz Bichler <Lutz.Bichler@bmw.de> | 2015-02-02 09:16:02 +0100 |
---|---|---|
committer | Lutz Bichler <Lutz.Bichler@bmw.de> | 2015-02-02 09:16:02 +0100 |
commit | b6248d63cfa4551f722f1406e628a3f44e46cda0 (patch) | |
tree | e49cb930511bc0ed92563ec3e37f01a0048a882a | |
parent | e61b13ec595e74b2ce35b1b7aa7b31f05d113739 (diff) | |
download | vSomeIP-b6248d63cfa4551f722f1406e628a3f44e46cda0.tar.gz |
Completely remove service entry from routing info structure when no
instance is available anymore. Otherwise, malformed routing info
messages are generated from the routing manager stub which crash the
attached routing manager proxies.
-rw-r--r-- | implementation/routing/src/routing_manager_stub.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/implementation/routing/src/routing_manager_stub.cpp b/implementation/routing/src/routing_manager_stub.cpp index fe769d2..265a9c9 100644 --- a/implementation/routing/src/routing_manager_stub.cpp +++ b/implementation/routing/src/routing_manager_stub.cpp @@ -228,6 +228,9 @@ void routing_manager_stub::on_stop_offer_service(client_t _client, auto found_instance = found_service->second.find(_instance); if (found_instance != found_service->second.end()) { found_service->second.erase(_instance); + if (0 == found_service->second.size()) { + found_client->second.second.erase(_service); + } broadcast_routing_info(); } } |