COVESA / vsomeip

An implementation of Scalable service-Oriented MiddlewarE over IP
Mozilla Public License 2.0
1.09k stars 678 forks source link

[BUG]: debounce_timeout compare different iterators #743

Open wennmbj opened 2 months ago

wennmbj commented 2 months ago

vSomeip Version

v3.4.10

Boost Version

1.74

Environment

Ubuntu 22.04

Describe the bug

In function: routing_manager_base::debounce_timeout_update_cbk the if condition: if (_event && (_event->get_subscribers().find(_client) != _event->get_subscribers().end()) && _filter) does not work properly. Here get_subscribers() return a copy of a set with each call. So the objects will never be equal here _event->get_subscribers().find(_client) != _event->get_subscribers().end()) My PR: https://github.com/COVESA/vsomeip/pull/739 fixes the issue, but get_subscribers() should be refactored to return a reference instead a copy.

Reproduction Steps

No response

Expected behaviour

No response

Logs and Screenshots

No response

wennmbj commented 1 month ago

Pull request will be closed since this change will be added here: https://github.com/COVESA/vsomeip/commit/2ad557f20ab25f3add415c640f350e2bf36ded85