Fixes for report #71652 BAD_FREE reported by Coverity
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 24 Aug 2010 09:21:11 +0000 (09:21 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 24 Aug 2010 09:21:11 +0000 (09:21 +0000)
15 files changed:
EMCAL/AliCaloRawAnalyzerPeakFinder.cxx
ESDCheck/AliHMPIDQATask.cxx
EVE/EveDet/AliEveListAnalyserEditor.cxx
EVE/EveDet/AliEveTRDTrackList.cxx
EVE/EveDet/AliEveTRDTrackListEditor.cxx
PMD/AliPMDCalibrator.cxx
PWG1/background/AliAnalysisTaskBGvsTime.cxx
PWG2/SPECTRA/AliAnalysisCentralCutESD.cxx
PWG2/SPECTRA/AliAnalysisCentralCutEvtESD.cxx
PWG2/SPECTRA/AliAnalysisTaskCentral.cxx
PWG4/PartCorrDep/AliAnaParticleJetLeadingConeCorrelation.cxx
STEER/AliQAChecker.cxx
TRD/AliTRDCalibraVector.cxx
VZERO/AliVZERODataFEE.cxx
VZERO/AliVZEROTriggerSimulator.cxx

index e40d505..bcc34f4 100644 (file)
@@ -87,16 +87,6 @@ AliCaloRawAnalyzerPeakFinder::ResetVectors()
 AliCaloRawAnalyzerPeakFinder::~AliCaloRawAnalyzerPeakFinder()
 {
   //comment
-  for(int i=0; i < MAXSTART; i++)
-    {
-      for(int j=0; j < SAMPLERANGE; j++ )
-       {
-         delete[] fPFAmpVectors[i][j];
-         delete[] fPFTofVectors[i][j];
-         delete[] fPFAmpVectorsCoarse[i][j];
-         delete[] fPFTofVectorsCoarse[i][j];
-       }
-    }
 }
 
 
index a4e65a7..fb545b6 100644 (file)
@@ -69,8 +69,9 @@ AliHMPIDQATask::~AliHMPIDQATask()
   delete fhHMPIDCkovP ;  
   delete fhHMPIDMipXY ;  
   delete fhHMPIDDifXY ;  
-  delete fhHMPIDSigP ;   
-  delete [] fhHMPIDProb ;
+  delete fhHMPIDSigP ;
+  for (Int_t i=0; i<5; i++)
+    delete fhHMPIDProb[i] ;
 }
 
 //______________________________________________________________________________
index f9d2602..4d9de8c 100644 (file)
@@ -785,7 +785,7 @@ void AliEveListAnalyserEditor::HandleMacroPathSet()
         // Ignore the slash "/" in name
         AddMacro(name + 1, path);  
   
-        if (path != 0)  delete path;
+        if (path != 0)  delete [] path;
         path = 0;
       }       
     }
index 612ee3c..bc88e7d 100644 (file)
@@ -599,7 +599,7 @@ Bool_t AliEveTRDTrackList::ApplyProcessMacros(const TList* selIterator, const TL
 
   if (selCmds != 0)  delete [] selCmds;
   selCmds = 0;
-  if (mSelType != 0)  delete mSelType;
+  if (mSelType != 0)  delete [] mSelType;
   mSelType = 0;
 
   if (histos != 0)  delete [] histos;
index 18702fd..7a47c0d 100644 (file)
@@ -699,7 +699,7 @@ void AliEveTRDTrackListEditor::HandleMacroPathSet()
         // Ignore the slash "/" in name
         AddMacro(name + 1, path);  
   
-        if (path != 0)  delete path;
+        if (path != 0)  delete [] path;
         path = 0;
       }       
     }
index 921a284..044a656 100644 (file)
@@ -123,9 +123,16 @@ AliPMDCalibrator &AliPMDCalibrator::operator=(const AliPMDCalibrator &pmdcalibra
 AliPMDCalibrator::~AliPMDCalibrator()
 {
   // destructor
-  if(fHdetIso) delete fHdetIso ;
-  if(fHsmIso)  delete fHsmIso ;
-  if(fHadcIso) delete fHadcIso ;
+  for (Int_t i=0; i<kDet; i++)
+    delete fHdetIso[i] ;
+  for (Int_t i=0; i<kDet; i++)
+    for (Int_t j=0; j<kMaxSMN; j++)
+      delete fHsmIso[i][j] ;
+  for (Int_t i=0; i<kDet; i++)
+    for (Int_t j=0; j<kMaxSMN; j++)
+      for (Int_t k=0; k<kMaxRow; k++)
+       for (Int_t l=0; l<kMaxCol; l++)
+         delete fHadcIso[i][j][k][l] ;
   delete fCalibGain;
   delete fCalibPed;
 }
index 9453770..769fe6c 100644 (file)
@@ -717,7 +717,7 @@ TH1F * AliAnalysisTaskBGvsTime::BookVsTimeHisto(const char * name, const char *
   TH1::AddDirectory(oldStatus);
   
 
-  delete bins;
+  delete [] bins;
   return h;
 }
 
index 0102b89..e5e572c 100644 (file)
@@ -76,7 +76,6 @@ AliAnalysisCentralCutESD::~AliAnalysisCentralCutESD() {
 // Destructor
 // Delete the created priors
 
-       if(fPartPriors) delete [] fPartPriors;
 
        if(fElectronFunction) delete fElectronFunction;
        if(fMuonFunction) delete fMuonFunction;
index 49bc23e..c7e5bc7 100644 (file)
@@ -61,18 +61,13 @@ AliAnalysisCentralCutEvtESD::AliAnalysisCentralCutEvtESD(const Char_t* name, con
     }
 
        InitCuts();
-       if (!fCutsList) {
-               Printf("ERROR: fCutsList not available");
-               return;
-    }
 
 }
 
 AliAnalysisCentralCutEvtESD::~AliAnalysisCentralCutEvtESD() {
 //Destructor
-       if(fCutsList){
-               delete [] fCutsList;
-       }
+  for (Int_t i=0; i<10; i++)
+    delete fCutsList[i];
 
 }
 
index 2cf3736..104857f 100644 (file)
@@ -77,10 +77,6 @@ AliAnalysisTaskCentral::AliAnalysisTaskCentral(const char *name)
     }
 
        InitCuts(); //initialize the analysis specific cuts     
-    if (!fCutsList) {
-               Printf("ERROR: fCutsList not available");
-               return;
-    }
 
 }
 
@@ -94,9 +90,9 @@ AliAnalysisTaskCentral::~AliAnalysisTaskCentral()
        if(fESD) delete fESD;
        if(fMC) delete fMC;
 
-       if(fCutsList){ 
-       delete [] fCutsList;
-       }
+       for (Int_t i=0; i<10; i++)
+         delete fCutsList[i];
+
 
        if(fNoEvt) delete fNoEvt;
 
@@ -321,11 +317,6 @@ void AliAnalysisTaskCentral::SendEvent(TObject *obj) const{
 
 // Some cuts (ie MC IsPrimary) need the MC Event info
 
-    if (!fCutsList) {
-               printf("No particle cut list found!\n\n");
-               return;
-    }
-    else {
                for(Int_t isel=0;isel< 10; isel++){
                        if(!fCutsList[isel]) continue;
                        TObjArrayIter iter(fCutsList[isel]);
@@ -347,7 +338,6 @@ void AliAnalysisTaskCentral::SendEvent(TObject *obj) const{
                                }
                        }
                }
-    }
 
 }
 
@@ -358,7 +348,7 @@ Bool_t AliAnalysisTaskCentral::CheckCuts(Int_t no, TObject *obj) const{
 // For each cut run IsSelected();
 //     printf("AliAnalysisTaskCentral::CheckCuts IN\n");
 
-    if(no > 10){
+    if(no > 9){
                printf("\nAliAnalysisTaskCentral::CheckCuts -> Cut number is not ok! \n");
                return kFALSE;
     }
index a52e6de..a969f35 100755 (executable)
@@ -355,20 +355,6 @@ AliAnaParticleJetLeadingConeCorrelation & AliAnaParticleJetLeadingConeCorrelatio
 AliAnaParticleJetLeadingConeCorrelation::~AliAnaParticleJetLeadingConeCorrelation() 
 {
    // Remove all pointers except analysis output pointers.
-  delete [] fJetE1;  
-  delete [] fJetE2;    
-  delete [] fJetSigma1;
-  delete [] fJetSigma2;
-  delete [] fBkgMean; 
-  delete [] fBkgRMS;  
-  delete [] fJetXMin1;
-  delete [] fJetXMin2;
-  delete [] fJetXMax1;
-  delete [] fJetXMax2; 
-  delete [] fJetCones;         
-  delete [] fJetNameCones;   
-  delete [] fJetPtThres;       
-  delete [] fJetNamePtThres;  
 }
 
 //____________________________________________________________________________
index a3059e5..63ef313 100644 (file)
@@ -97,7 +97,8 @@ AliQAChecker::~AliQAChecker()
 // clean up
   if (fRunInfo)
     delete fRunInfo ; 
-  delete [] fCheckers ; 
+  for (Int_t det=0; det<AliQAv1::kNDET; det++)
+    delete fCheckers[det] ; 
   AliQAv1::Close() ; 
 }
 
index 7614771..ffcd2ed 100644 (file)
@@ -167,13 +167,16 @@ AliTRDCalibraVector::~AliTRDCalibraVector()
   // AliTRDCalibraVector destructor
   //
 
-  if(fPHEntries) delete fPHEntries;
-  if(fPHMean) delete fPHMean;
-  if(fPHSquares) delete fPHSquares;
-  if(fPRFEntries) delete fPRFEntries;
-  if(fPRFMean) delete fPRFMean;
-  if(fPRFSquares) delete fPRFSquares;
-  if(fCHEntries) delete fCHEntries;
+  for (Int_t i=0; i<540; i++) {
+    delete fPHEntries[i];
+    delete fPHMean[i];
+    delete fPHSquares[i];
+    delete fPRFEntries[i];
+    delete fPRFMean[i];
+    delete fPRFSquares[i];
+    delete fCHEntries[i];
+  }
+
   if(fHisto) delete fHisto;
   if(fGraph) delete fGraph;
   if(fCalVector) delete fCalVector;
index ff3048e..7e73042 100644 (file)
@@ -61,7 +61,6 @@ AliVZERODataFEE::AliVZERODataFEE(Int_t nRun, UInt_t startTime, UInt_t endTime) :
 //_____________________________________________________________________________\r
 AliVZERODataFEE::~AliVZERODataFEE()\r
 {\r
-       delete fAliasNames;\r
        delete fParameters;\r
 }\r
 \r
index 56b232e..b9dbc87 100644 (file)
@@ -82,12 +82,14 @@ TObject(),fTriggerData(NULL),fDigitsTree(NULL),fDigits(NULL),fTriggerWord(0)
 //_____________________________________________________________________________\r
 AliVZEROTriggerSimulator::~AliVZEROTriggerSimulator(){\r
 // Destructor\r
-       if(fBBGate) delete [] fBBGate;\r
-       if(fBGGate) delete [] fBGGate;\r
-       if(fBBLatch) delete [] fBBLatch;\r
-       if(fBBReset) delete [] fBBReset;\r
-       if(fBGLatch) delete [] fBGLatch;\r
-       if(fBGReset) delete [] fBGReset;\r
+  for (Int_t i=0; i<AliVZEROTriggerData::kNCIUBoards; i++) {\r
+    delete fBBGate[i];\r
+    delete fBGGate[i];\r
+    delete fBBLatch[i];\r
+    delete fBBReset[i];\r
+    delete fBGLatch[i];\r
+    delete fBGReset[i];\r
+  }\r
 }\r
 \r
 //_____________________________________________________________________________\r