coverity corrections
authordsilverm <dsilverm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 5 Nov 2010 12:23:50 +0000 (12:23 +0000)
committerdsilverm <dsilverm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 5 Nov 2010 12:23:50 +0000 (12:23 +0000)
EMCAL/AliCaloCalibPedestal.cxx
EMCAL/AliCaloCalibSignal.cxx
EMCAL/AliEMCALBiasAPD.cxx
EMCAL/AliEMCALCalibAbs.cxx
EMCAL/AliEMCALCalibMapAPD.cxx
EMCAL/AliEMCALCalibReference.cxx
EMCAL/AliEMCALCalibTimeDepCorrection.cxx
EMCAL/AliEMCALPreprocessor.cxx

index 6d1e157..15fe605 100644 (file)
@@ -1069,7 +1069,7 @@ void AliCaloCalibPedestal::ComputeDeadTowers(const char * deadMapFile)
     }
     if (!diff->is_open()) {
       delete diff;
-      fout = 0;//Set the pointer to empty if the file was not opened
+      diff = 0;//Set the pointer to empty if the file was not opened
     }
   }
  
index 07de01d..e27c7e4 100644 (file)
@@ -162,16 +162,15 @@ AliCaloCalibSignal::AliCaloCalibSignal(const AliCaloCalibSignal &sig) :
 {
   // also the TTree contents
   AddInfo(&sig);
-  for (Int_t i = 0; i<2*fgkMaxTowers; i++) {
-    if(i < fgkMaxTowers){
+  for (Int_t i = 0; i<fgkMaxTowers; i++) {
       fNHighGain[i] = sig.fNHighGain[i];
       fNLowGain[i]  = sig.fNLowGain[i]; 
-    }
+  }
+  for (Int_t i = 0; i<(2*fgkMaxRefs); i++) {
     fNRef[i] = sig.fNRef[i]; 
   }
   
   
-  
 }
 
 // assignment operator; use copy ctor to make life easy..
@@ -809,7 +808,7 @@ Bool_t AliCaloCalibSignal::Analyze()
       for (int gain=0; gain<2; gain++) {
        fRefNum = GetRefNum(i, j, gain);
        if (fNRef[fRefNum] > 0) { 
-         sprintf(name, "profileLEDRef%d", fRefNum);
+         snprintf(name, buffersize, "profileLEDRef%d", fRefNum);
          profileLED[fRefNum] = new TProfile(name, name, numProfBins, timeMin, timeMax, "s");
        } 
       }// gain
index 6610e5f..1814155 100644 (file)
@@ -69,7 +69,7 @@ void AliEMCALBiasAPD::ReadTextBiasAPDInfo(Int_t nSM, const TString &txtFileName,
     AliEMCALSuperModuleBiasAPD * t = (AliEMCALSuperModuleBiasAPD*) fSuperModuleData[i];
 
     if (!inputFile) {
-      printf("AliEMCALBiasAPD::ReadBiasAPDInfo - Error while reading input file; likely EOF..");
+      printf("AliEMCALBiasAPD::ReadBiasAPDInfo - Error while reading input file; likely EOF..\n");
       return;
     }
     inputFile >> iSM;
@@ -78,6 +78,13 @@ void AliEMCALBiasAPD::ReadTextBiasAPDInfo(Int_t nSM, const TString &txtFileName,
     for (Int_t j=0; j<nAPDPerSM; j++) {
       inputFile >> iCol >> iRow >> iElecId >> iDAC >> voltage;
 
+      // check that input values are not out bounds
+      if (iCol<0 || iCol>(AliEMCALGeoParams::fgkEMCALCols-1) ||
+         iRow<0 || iRow>(AliEMCALGeoParams::fgkEMCALRows-1) ) {
+       printf("AliEMCALBiasAPD::ReadBiasAPDInfo - Error while reading input file; j %d iCol %d iRow %d\n", j, iCol, iRow);
+      return;
+      }
+
       // assume that this info is already swapped and done for this basis?
       if (swapSides) {
        // C side, oriented differently than A side: swap is requested
index a8320fe..828a125 100644 (file)
@@ -74,7 +74,7 @@ void AliEMCALCalibAbs::ReadTextCalibAbsInfo(Int_t nSM, const TString &txtFileNam
   for (Int_t i = 0; i < fNSuperModule; i++) {
     AliEMCALSuperModuleCalibAbs * t = (AliEMCALSuperModuleCalibAbs*) fSuperModuleData[i];
     if (!inputFile) {
-      printf("AliEMCALCalibAbs::ReadCalibAbsInfo - Error while reading input file; likely EOF..");
+      printf("AliEMCALCalibAbs::ReadCalibAbsInfo - Error while reading input file; likely EOF..\n");
       return;
     }
     inputFile >> iSM;
@@ -88,8 +88,14 @@ void AliEMCALCalibAbs::ReadTextCalibAbsInfo(Int_t nSM, const TString &txtFileNam
 
     // third: info for each tower
     for (Int_t j=0; j<nAPDPerSM; j++) {
-      inputFile >> iCol >> iRow 
-               >> relativeCalib;
+      inputFile >> iCol >> iRow >> relativeCalib;
+
+      // check that input values are not out bounds
+      if (iCol<0 || iCol>(AliEMCALGeoParams::fgkEMCALCols-1) ||
+         iRow<0 || iRow>(AliEMCALGeoParams::fgkEMCALRows-1) ) {
+       printf("AliEMCALCalibAbs::ReadCalibAbsInfo - Error while reading input file; j %d iCol %d iRow %d\n", j, iCol, iRow);
+      return;
+      }
 
       // assume that this info is already swapped and done for this basis?
       if (swapSides) {
index 038b72c..4e9af8f 100644 (file)
@@ -74,7 +74,7 @@ void AliEMCALCalibMapAPD::ReadTextCalibMapAPDInfo(Int_t nSM, const TString &txtF
   for (Int_t i = 0; i < fNSuperModule; i++) {
     AliEMCALSuperModuleCalibMapAPD * t = (AliEMCALSuperModuleCalibMapAPD*) fSuperModuleData[i];
     if (!inputFile) {
-      printf("AliEMCALCalibMapAPD::ReadCalibMapAPDInfo - Error while reading input file; likely EOF..");
+      printf("AliEMCALCalibMapAPD::ReadCalibMapAPDInfo - Error while reading input file; likely EOF..\n");
       return;
     }
     inputFile >> iSM;
@@ -87,6 +87,13 @@ void AliEMCALCalibMapAPD::ReadTextCalibMapAPDInfo(Int_t nSM, const TString &txtF
                >> parErr[0] >> parErr[1] >> parErr[2]
                >> iBreakDown >> darkCurrent;
 
+      // check that input values are not out bounds
+      if (iCol<0 || iCol>(AliEMCALGeoParams::fgkEMCALCols-1) ||
+         iRow<0 || iRow>(AliEMCALGeoParams::fgkEMCALRows-1) ) {
+       printf("AliEMCALCalibMapAPD::ReadCalibMapAPDInfo - Error while reading input file; j %d iCol %d iRow %d\n", j, iCol, iRow);
+      return;
+      }
+
       // assume that this info is already swapped and done for this basis?
       if (swapSides) {
        // C side, oriented differently than A side: swap is requested
index d0705f1..8263997 100644 (file)
@@ -81,7 +81,7 @@ void AliEMCALCalibReference::ReadTextCalibReferenceInfo(Int_t nSM, const TString
   for (Int_t i = 0; i < fNSuperModule; i++) {
     AliEMCALSuperModuleCalibReference * t = (AliEMCALSuperModuleCalibReference*) fSuperModuleData[i];
     if (!inputFile) {
-      printf("AliEMCALCalibReference::ReadCalibReferenceInfo - Error while reading input file; likely EOF..");
+      printf("AliEMCALCalibReference::ReadCalibReferenceInfo - Error while reading input file; likely EOF..\n");
       return;
     }
     inputFile >> iSM;
@@ -94,12 +94,21 @@ void AliEMCALCalibReference::ReadTextCalibReferenceInfo(Int_t nSM, const TString
     // second: additional info for LED Reference and SM temperature
     for (Int_t j=0; j<AliEMCALGeoParams::fgkEMCALLEDRefs; j++) {
       inputFile >> id >> iLEDRefHighLow >> rLEDRefAmp >> rLEDRefAmpRMS;
+      if (id<0 || id>(AliEMCALGeoParams::fgkEMCALLEDRefs-1) ) {
+       printf("AliEMCALCalibReference::ReadCalibReferenceInfo - Error while reading input file; LEDRef j %d id %d\n", j, id);
+       return;
+      }
       t->SetLEDRefHighLow(id, iLEDRefHighLow);
       t->SetLEDRefAmp(id, rLEDRefAmp);
       t->SetLEDRefAmpRMS(id, rLEDRefAmpRMS);
     }
+
     for (Int_t j=0; j<AliEMCALGeoParams::fgkEMCALTempSensors; j++) {
       inputFile >> id >> temperature >> temperatureRMS;
+      if (id<0 || id>(AliEMCALGeoParams::fgkEMCALTempSensors-1) ) {
+       printf("AliEMCALCalibReference::ReadCalibReferenceInfo - Error while reading input file; TempSensor j %d id %d\n", j, id);
+       return;
+      }
       t->SetTemperature(id, temperature);
       t->SetTemperatureRMS(id, temperatureRMS);
     }
@@ -109,6 +118,13 @@ void AliEMCALCalibReference::ReadTextCalibReferenceInfo(Int_t nSM, const TString
       inputFile >> iCol >> iRow 
                >> iHighLow >> rLEDAmp >> rLEDAmpRMS;
 
+      // check that input values are not out bounds
+      if (iCol<0 || iCol>(AliEMCALGeoParams::fgkEMCALCols-1) ||
+         iRow<0 || iRow>(AliEMCALGeoParams::fgkEMCALRows-1) ) {
+       printf("AliEMCALCalibReference::ReadCalibReferenceInfo - Error while reading input file; j %d iCol %d iRow %d\n", j, iCol, iRow);
+      return;
+      }
+
       // assume that this info is already swapped and done for this basis?
       if (swapSides) {
        // C side, oriented differently than A side: swap is requested
index e87ea54..9f210ea 100644 (file)
@@ -122,7 +122,7 @@ void AliEMCALCalibTimeDepCorrection::ReadTextInfo(Int_t nSM, const TString &txtF
     AliEMCALSuperModuleCalibTimeDepCorrection * t = (AliEMCALSuperModuleCalibTimeDepCorrection*) fSuperModuleData[i];
 
     if (!inputFile) {
-      printf("AliEMCALCalibTimeDepCorrection::ReadTextInfo - Error while reading input file; likely EOF..");
+      printf("AliEMCALCalibTimeDepCorrection::ReadTextInfo - Error while reading input file; likely EOF..\n");
       return;
     }
     inputFile >> iSM;
@@ -131,6 +131,13 @@ void AliEMCALCalibTimeDepCorrection::ReadTextInfo(Int_t nSM, const TString &txtF
     for (Int_t j=0; j<nAPDPerSM; j++) {
       inputFile >> iCol >> iRow >> nCorr;
 
+      // check that input values are not out bounds
+      if (iCol<0 || iCol>(AliEMCALGeoParams::fgkEMCALCols-1) ||
+         iRow<0 || iRow>(AliEMCALGeoParams::fgkEMCALRows-1) ) {
+       printf("AliEMCALCalibTimeDepCorrection::ReadTextInfo - Error while reading input file; j %d iCol %d iRow %d\n", j, iCol, iRow);
+      return;
+      }
+
       // assume that this info is already swapped and done for this basis?
       if (swapSides) {
        // C side, oriented differently than A side: swap is requested
index cf951e6..4f70562 100644 (file)
@@ -257,9 +257,11 @@ UInt_t AliEMCALPreprocessor::Process(TMap* dcsAliasMap)
     metaData.SetBeamPeriod(0);
     metaData.SetResponsible(kMetaResponsible);
     metaData.SetComment("Preprocessor AliEMCAL status.");
-    Store("Calib", "PreprocStatus", resultArray, &metaData, 0, kFALSE);
+    Bool_t storeOK = Store("Calib", "PreprocStatus", resultArray, &metaData, 0, kFALSE);
     resultArray->Delete();
-    return 0;
+    result = 0;
+    if ( !storeOK )  result=1;
+    return result;
   } 
   else { 
     return result;