diff --git a/RGBController/RGBController_AuraUSB.cpp b/RGBController/RGBController_AuraUSB.cpp index 25e69446..bc04eb58 100644 --- a/RGBController/RGBController_AuraUSB.cpp +++ b/RGBController/RGBController_AuraUSB.cpp @@ -175,6 +175,11 @@ void RGBController_AuraUSB::SetupZones() void RGBController_AuraUSB::ResizeZone(int zone, int new_size) { + if((size_t) zone >= zones.size()) + { + return; + } + if(((unsigned int)new_size >= zones[zone].leds_min) && ((unsigned int)new_size <= zones[zone].leds_max)) { zones[zone].leds_count = new_size; diff --git a/RGBController/RGBController_CorsairLightingNode.cpp b/RGBController/RGBController_CorsairLightingNode.cpp index 22b6aeb3..cf71b043 100644 --- a/RGBController/RGBController_CorsairLightingNode.cpp +++ b/RGBController/RGBController_CorsairLightingNode.cpp @@ -231,6 +231,11 @@ void RGBController_CorsairLightingNode::SetupZones() void RGBController_CorsairLightingNode::ResizeZone(int zone, int new_size) { + if((size_t) zone >= zones.size()) + { + return; + } + if(((unsigned int)new_size >= zones[zone].leds_min) && ((unsigned int)new_size <= zones[zone].leds_max)) { zones[zone].leds_count = new_size; diff --git a/RGBController/RGBController_HuePlus.cpp b/RGBController/RGBController_HuePlus.cpp index f6c8e103..4260e682 100644 --- a/RGBController/RGBController_HuePlus.cpp +++ b/RGBController/RGBController_HuePlus.cpp @@ -220,6 +220,11 @@ void RGBController_HuePlus::SetupZones() void RGBController_HuePlus::ResizeZone(int zone, int new_size) { + if((size_t) zone >= zones.size()) + { + return; + } + if(((unsigned int)new_size >= zones[zone].leds_min) && ((unsigned int)new_size <= zones[zone].leds_max)) { zones[zone].leds_count = new_size; diff --git a/RGBController/RGBController_MSIMysticLight.cpp b/RGBController/RGBController_MSIMysticLight.cpp index e78b88ef..e85bf117 100644 --- a/RGBController/RGBController_MSIMysticLight.cpp +++ b/RGBController/RGBController_MSIMysticLight.cpp @@ -93,6 +93,11 @@ void RGBController_MSIMysticLight::SetupZones() void RGBController_MSIMysticLight::ResizeZone(int zone, int new_size) { + if((size_t) zone >= zones.size()) + { + return; + } + MSI_ZONE zon = ZoneFromPos(zone); unsigned int max_count = controller->GetZoneMaxLedCount(zon); unsigned int min_count = controller->GetZoneMinLedCount(zon); @@ -222,4 +227,4 @@ void RGBController_MSIMysticLight::SetupMode(const char *name, MSI_MODE mod, uns } modes.push_back(Mode); -} \ No newline at end of file +} diff --git a/RGBController/RGBController_RGBFusion2USB.cpp b/RGBController/RGBController_RGBFusion2USB.cpp index da1cbe5d..7b26d118 100644 --- a/RGBController/RGBController_RGBFusion2USB.cpp +++ b/RGBController/RGBController_RGBFusion2USB.cpp @@ -284,6 +284,11 @@ void RGBController_RGBFusion2USB::SetupZones() void RGBController_RGBFusion2USB::ResizeZone(int zone, int new_size) { + if((size_t) zone >= zones.size()) + { + return; + } + if(((unsigned int)new_size >= zones[zone].leds_min) && ((unsigned int)new_size <= zones[zone].leds_max)) { zones[zone].leds_count = new_size; diff --git a/RGBController/RGBController_ThermaltakeRiing.cpp b/RGBController/RGBController_ThermaltakeRiing.cpp index 16092428..5eb7f2a6 100644 --- a/RGBController/RGBController_ThermaltakeRiing.cpp +++ b/RGBController/RGBController_ThermaltakeRiing.cpp @@ -170,6 +170,11 @@ void RGBController_ThermaltakeRiing::SetupZones() void RGBController_ThermaltakeRiing::ResizeZone(int zone, int new_size) { + if((size_t) zone >= zones.size()) + { + return; + } + if(((unsigned int)new_size >= zones[zone].leds_min) && ((unsigned int)new_size <= zones[zone].leds_max)) { zones[zone].leds_count = new_size;