Fixes for coverity 10061, 10064, 10179, 10201, 10211
authorprino <prino@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 9 Oct 2010 22:48:02 +0000 (22:48 +0000)
committerprino <prino@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 9 Oct 2010 22:48:02 +0000 (22:48 +0000)
ITS/AliITSCalibrationSDD.cxx
ITS/AliITSClusterFinderV2SDD.cxx
ITS/AliITSRawStreamSDD.cxx
ITS/AliITSRawStreamSDDCompressed.cxx

index a9728dc..8704e18 100644 (file)
@@ -131,7 +131,10 @@ void AliITSCalibrationSDD::GiveCompressParam(Int_t  cp[4]) const {
 void AliITSCalibrationSDD::SetBadChannel(Int_t i,Int_t anode){
   //Set bad anode (set gain=0 for these channels);
 
-  if(anode<0 || anode >fgkChannels*fgkChips*fgkWings-1)AliError("Wrong anode number");
+  if(anode<0 || anode >fgkChannels*fgkChips*fgkWings-1){
+    AliError("Wrong anode number");
+    return;
+  }
   fBadChannels[i]=anode;
   fGain[anode]=0;
 }
index 543a33d..0c95c66 100644 (file)
@@ -296,7 +296,7 @@ FindClustersSDD(AliBin* bins[2], TBits* anodeFired[2],
          if(cal-> IsAMAt20MHz()) q*=2.; // account for 1/2 sampling freq.
          if(q<repa->GetMinClusterChargeSDD()) continue; // remove noise clusters
          
-         Float_t hit[5] = {y, z, 0.0030*0.0030, 0.0020*0.0020, q};
+         Float_t hit[6] = {y, z, 0.0030*0.0030, 0.0020*0.0020, q, 0.};
          Int_t  info[3] = {clSizTb, clSizAnode, fNlayer[fModule]};
          if (digits) CheckLabels2(milab);
          milab[3]=fNdet[fModule];
index 379153f..bfd3000 100644 (file)
@@ -192,7 +192,7 @@ Bool_t AliITSRawStreamSDD::Next()
          fNfifo[iFifoIdx] = fCarlosId;
        } else if (fData>=fIFifoWord[0]&&fData<=fIFifoWord[3]){ // FIFO word
          fCarlosId = fNfifo[fData-fIFifoWord[0]];          
-       } else if(fData==0x3FFFFFFF){ // Carlos footer
+       } else if(fData==0x3FFFFFFF && fCarlosId>=0 && fCarlosId<kModulesPerDDL){ // Carlos footer
          fICountFoot[fCarlosId]++; // stop before the last word (last word=jitter)
          if(fICountFoot[fCarlosId]==3){
            fCompletedModule=kTRUE;
@@ -221,7 +221,9 @@ Bool_t AliITSRawStreamSDD::Next()
       
       if(fCarlosId>=0 && fCarlosId <kModulesPerDDL){
        Int_t nDDL=fRawReader->GetDDLID();
-       fModuleID = GetModuleNumber(nDDL,fCarlosId);
+       if(nDDL>=0){
+         fModuleID = GetModuleNumber(nDDL,fCarlosId);
+       }
       }
     } else {  // decode data
       if (fReadCode[fCarlosId][fChannel]) {// read the next code word
index 5d285c5..012742e 100644 (file)
@@ -172,6 +172,7 @@ Bool_t AliITSRawStreamSDDCompressed::Next()
       // end of module word
       fCarlosId=fData&maskmod;
       fDDL=fRawReader->GetDDLID();
+      if(fDDL<0) return kFALSE;
       fModuleID = GetModuleNumber(fDDL,fCarlosId);
       fCompletedDDL=kFALSE;
       fCompletedModule=kTRUE;
@@ -189,6 +190,7 @@ Bool_t AliITSRawStreamSDDCompressed::Next()
       // data word
       fCarlosId=(fData&maskCarlos)>>27;
       fDDL=fRawReader->GetDDLID();
+      if(fDDL<0) return kFALSE;
       fModuleID = GetModuleNumber(fDDL,fCarlosId);
       fChannel=(fData&maskSide)>>26;
       fCoord1=(fData&maskAnode)>>18;