summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjacobkeeler <jacob.keeler@livioradio.com>2021-01-25 13:37:50 -0500
committerjacobkeeler <jacob.keeler@livioradio.com>2021-01-25 13:37:50 -0500
commit70ffbe1cbf843e76e439de95ec0659ddd589e4f2 (patch)
treed606a04917d2ecd72d2e951bc6e74a7239dbea94
parent76505bb328ab5ad7afcbeb5875706a86bf98d1c5 (diff)
downloadsdl_core-70ffbe1cbf843e76e439de95ec0659ddd589e4f2.tar.gz
Fix invalid use of erase while iterating through VI set
Copies the contents of `vi_waiting_for_unsubscribe_` and iterate through the copy to prevent editing the container while iterating
-rw-r--r--src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/commands/mobile/unsubscribe_vehicle_data_request.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/commands/mobile/unsubscribe_vehicle_data_request.cc b/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/commands/mobile/unsubscribe_vehicle_data_request.cc
index 8ffeaf922a..7d81701a64 100644
--- a/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/commands/mobile/unsubscribe_vehicle_data_request.cc
+++ b/src/components/application_manager/rpc_plugins/vehicle_info_plugin/src/commands/mobile/unsubscribe_vehicle_data_request.cc
@@ -314,8 +314,8 @@ bool UnsubscribeVehicleDataRequest::CheckSubscriptionStatus(
bool UnsubscribeVehicleDataRequest::UnsubscribePendingVehicleData(
ApplicationSharedPtr app, const smart_objects::SmartObject& msg_params) {
SDL_LOG_DEBUG("Unsubscribing from all pending VehicleData");
-
- for (const auto& vi_name : vi_waiting_for_unsubscribe_) {
+ auto pending_vi = vi_waiting_for_unsubscribe_;
+ for (const auto& vi_name : pending_vi) {
const auto converted_item = ConvertRequestToResponseName(vi_name);
const bool is_unsubscription_successful =
CheckSubscriptionStatus(converted_item, msg_params);