From 6beaab97fe99a6464e2a83d69952eaa00448bdb0 Mon Sep 17 00:00:00 2001 From: Mark Vejvoda Date: Thu, 10 Jun 2010 20:37:38 +0000 Subject: [PATCH] added another index guard to ensure proper index --- source/glest_game/ai/ai_rule.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source/glest_game/ai/ai_rule.cpp b/source/glest_game/ai/ai_rule.cpp index 55e15e60..8e3ff1e9 100644 --- a/source/glest_game/ai/ai_rule.cpp +++ b/source/glest_game/ai/ai_rule.cpp @@ -537,6 +537,12 @@ void AiRuleProduce::produceSpecific(const ProduceTask *pt){ sprintf(szBuf,"In [%s::%s Line: %d] currentProducerIndex >= aiInterface->getMyUnitCount(), currentProducerIndex = %d, aiInterface->getMyUnitCount() = %d, i = %d,producers.size() = %d",__FILE__,__FUNCTION__,__LINE__,currentProducerIndex,aiInterface->getMyUnitCount(),i,producers.size()); throw runtime_error(szBuf); } + if(currentProducerIndex >= producers.size()) { + char szBuf[1024]=""; + sprintf(szBuf,"In [%s::%s Line: %d] currentProducerIndex >= producers.size(), currentProducerIndex = %d, i = %d,producers.size() = %d",__FILE__,__FUNCTION__,__LINE__,currentProducerIndex,i,producers.size()); + throw runtime_error(szBuf); + } + currentCommandCount=aiInterface->getMyUnit(currentProducerIndex)->getCommandSize(); if( currentCommandCount==1 && aiInterface->getMyUnit(currentProducerIndex)->getCurrCommand()->getCommandType()->getClass()==ccStop)