Fixing OVERRUN_STATIC defect reported by Coverity
authorivana <ivana@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 28 Sep 2010 06:34:06 +0000 (06:34 +0000)
committerivana <ivana@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 28 Sep 2010 06:34:06 +0000 (06:34 +0000)
MUON/AliMUONClusterSplitterMLEM.cxx
MUON/AliMUONGlobalCrateConfig.cxx
MUON/AliMUONLocalTriggerBoard.cxx
MUON/AliMUONPreClusterFinderV3.cxx

index 0468e05..a699eb2 100644 (file)
@@ -408,7 +408,11 @@ AliMUONClusterSplitterMLEM::Fit(const AliMUONCluster& cluster,
   if (fDebug) cout << xyCand[0][0] << " " << xyCand[0][1] << " " << sigCand[0][0] << " " << sigCand[0][1] << endl;
   
   Int_t nDof, maxSeed[3];//, nMax = 0;
-    
+
+  if ( nfit0 < 0 || nfit0 > 3 ) {
+     AliErrorStream() << "Wrong nfit0 value: " << nfit0 << endl;
+     return nfit;
+  }   
   TMath::Sort(nfit0, qseed, maxSeed, kTRUE); // in decreasing order
     
   Double_t step[3]={0.01,0.002,0.02}, fmin, chi2o = 9999, chi2n;
index 70479a5..e10aaf1 100644 (file)
@@ -360,7 +360,7 @@ TString AliMUONGlobalCrateConfig::GetJtagCrateName(Int_t jtagLine, Int_t index)
 UInt_t AliMUONGlobalCrateConfig::GetGlobalRegister(Int_t index) const       
 {
   /// return global register for a given index
-  if (index > fgkGlobalNofRegisters) {
+  if (index >= fgkGlobalNofRegisters) {
     AliWarning("Index size too big for Global Register");
     return 0;
   } else 
@@ -371,7 +371,7 @@ UInt_t AliMUONGlobalCrateConfig::GetGlobalRegister(Int_t index) const
 void AliMUONGlobalCrateConfig::SetGlobalRegister(Int_t index, UInt_t reg) 
 {
   /// set Global register for a given index
-  if (index > fgkGlobalNofRegisters) {
+  if (index >= fgkGlobalNofRegisters) {
     AliWarning("Index size too big for Global Register");
     return;
   } 
@@ -419,7 +419,7 @@ Bool_t AliMUONGlobalCrateConfig::GetMasksOn() const
 UInt_t AliMUONGlobalCrateConfig::GetFetRegister(Int_t index) const       
 {
   /// return global register for a given index
-  if (index > fgkFetNofRegisters) {
+  if (index >= fgkFetNofRegisters) {
     AliWarning("Index size too big for Fet Register");
     return 0;
   } else 
@@ -430,7 +430,7 @@ UInt_t AliMUONGlobalCrateConfig::GetFetRegister(Int_t index) const
 void AliMUONGlobalCrateConfig::SetFetRegister(Int_t index, UInt_t reg) 
 {
   /// set Global register for a given index
-  if (index > fgkFetNofRegisters) {
+  if (index >= fgkFetNofRegisters) {
     AliWarning("Index size too big for Global Register");
     return;
   } 
index 7a89884..94beda2 100644 (file)
@@ -1247,7 +1247,7 @@ void AliMUONLocalTriggerBoard::Mask(Int_t index, UShort_t mask)
   if ( index >= 0 && index < 2*4 )
   {
     Int_t i = index/4;
-    Int_t j = index - i*4;
+    Int_t j = index%4;
     fMask[i][j]=mask;
   }
   else
index e904f6b..efbe483 100644 (file)
@@ -191,6 +191,11 @@ AliMUONPreClusterFinderV3::AddPreCluster(AliMUONCluster& cluster, AliMUONCluster
   AliMUONCluster a(*preCluster);
 
   Int_t cathode = preCluster->Cathode();
+  if ( cathode < 0 ) {
+    AliError(Form("Cathod undefined: %d",cathode));
+    AliFatal("");
+  }
+  
   if ( cathode <=1 && !fPreClusters[cathode]->Remove(preCluster) ) 
   {
     AliError(Form("Could not remove %s from preclusters[%d]",