fix coverity defects
authorabercuci <abercuci@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 20 Dec 2010 09:55:46 +0000 (09:55 +0000)
committerabercuci <abercuci@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 20 Dec 2010 09:55:46 +0000 (09:55 +0000)
EVE/EveDet/AliEveListAnalyser.cxx
EVE/EveDet/AliEveListAnalyser.h
EVE/EveDet/AliEveListAnalyserEditor.cxx
EVE/EveDet/AliEveTRDLoader.cxx
EVE/EveDet/AliEveTRDTrackList.cxx

index 9092e0d..b76d770 100644 (file)
@@ -179,7 +179,7 @@ Int_t AliEveListAnalyser::AddMacro(const Char_t* path, const Char_t* nameC, Bool
 
   // Expand the path and create the pathname
   Char_t* systemPath = gSystem->ExpandPathName(path);
-  sprintf(pathname, "%s/%s", systemPath, nameC);
+  snprintf(pathname, fkMaxMacroPathNameLength, "%s/%s", systemPath, nameC);
   delete systemPath;
   systemPath = 0;
 
@@ -520,7 +520,7 @@ Bool_t AliEveListAnalyser::ApplyProcessMacros(const TList* selIterator, const TL
   // A.B. gROOT->Reset();
   
   // Clear old data and re-allocate
-  if (fDataTree == 0x0){ 
+  if (fDataTree == NULL){
     TDirectory *cwd = gDirectory;
     fDataTree = new TTreeSRedirector(Form("/tmp/ListAnalyserMacroData_%s.root", gSystem->Getenv("USER")));
     cwd->cd();
@@ -539,47 +539,27 @@ Bool_t AliEveListAnalyser::ApplyProcessMacros(const TList* selIterator, const TL
   fDataFromMacroList->TCollection::SetOwner(kTRUE);
 
   fHistoDataSelected = 0;
+  TGeneralMacroData* macro(NULL);
 
+  TString* procCmds                      = new TString[procIterator->GetEntries()];
+  AliEveListAnalyserMacroType* mProcType = new AliEveListAnalyserMacroType[procIterator->GetEntries()];
+  TClass** mProcObjectType               = new TClass*[procIterator->GetEntries()];
+  TClass** mProcObjectType2              = new TClass*[procIterator->GetEntries()];
 
-  TGeneralMacroData* macro = 0;
-
-  TString* procCmds = 0;
-  AliEveListAnalyserMacroType* mProcType = 0;
-  if (procIterator->GetEntries() > 0) {
-    procCmds = new TString[procIterator->GetEntries()];
-    mProcType = new AliEveListAnalyserMacroType[procIterator->GetEntries()];
-  }
-  
-  TClass** mProcObjectType = 0;
-  TClass** mProcObjectType2 = 0;
-  if (procIterator->GetEntries() > 0) {
-    mProcObjectType = new TClass*[procIterator->GetEntries()];
-    mProcObjectType2 = new TClass*[procIterator->GetEntries()];
-  }
-
-  TString* selCmds  = 0;
-  AliEveListAnalyserMacroType* mSelType = 0;
-  if (selIterator->GetEntries() > 0) {
-    selCmds = new TString[selIterator->GetEntries()];
-    mSelType = new AliEveListAnalyserMacroType[selIterator->GetEntries()];
-  }
-
-  TClass** mSelObjectType = 0;
-  TClass** mSelObjectType2 = 0;
-  if (selIterator->GetEntries() > 0) {
-    mSelObjectType = new TClass*[selIterator->GetEntries()];
-    mSelObjectType2 = new TClass*[selIterator->GetEntries()];
-  }
+  TString* selCmds(NULL);
+  AliEveListAnalyserMacroType* mSelType(NULL);
+  TClass** mSelObjectType(NULL);
+  TClass** mSelObjectType2(NULL);
   
   Bool_t selectedByCorrSelMacro = kFALSE;
 
   AliEveListAnalyserMacroType macroType = kUnknown;
   Int_t numHistoMacros = 0;
-  TH1** histos = 0;
+  TH1** histos(NULL);
 
-  TEveElement* object1 = 0;
-  TEveElement* object2 = 0;
-  TH1* returnedHist = 0x0;
+  TEveElement* object1(NULL);
+  TEveElement* object2(NULL);
+  TH1* returnedHist(NULL);
 
   // Collect the commands for each process macro and add them to "data-from-list"
   for (Int_t i = 0; i < procIterator->GetEntries(); i++){
@@ -626,50 +606,57 @@ Bool_t AliEveListAnalyser::ApplyProcessMacros(const TList* selIterator, const TL
   }  
 
   // Collect the commands for each selection macro and add them to "data-from-list"
-  for (Int_t i = 0; i < selIterator->GetEntries(); i++){
-    macro = (TGeneralMacroData*)fMacroList->GetValue(selIterator->At(i)->GetTitle());
-
-    if (!macro){
-      Error("Apply process macros", 
-        Form("Macro list is corrupted: Macro \"%s\" is not registered!", 
-        selIterator->At(i)->GetTitle()));
-      continue;
-    }
+  if (selIterator->GetEntries() > 0) {
+    selCmds         = new TString[selIterator->GetEntries()];
+    mSelType        = new AliEveListAnalyserMacroType[selIterator->GetEntries()];
+    mSelObjectType  = new TClass*[selIterator->GetEntries()];
+    mSelObjectType2 = new TClass*[selIterator->GetEntries()];
+    for (Int_t i = 0; i < selIterator->GetEntries(); i++){
+      macro = (TGeneralMacroData*)fMacroList->GetValue(selIterator->At(i)->GetTitle());
+
+      if (!macro){
+        Error("Apply process macros",
+          Form("Macro list is corrupted: Macro \"%s\" is not registered!",
+          selIterator->At(i)->GetTitle()));
+        continue;
+      }
 
 #ifdef AliEveListAnalyser_DEBUG
-    printf("AliEveListAnalyser: Checking selection macro: %s\n", macro->GetName());
+      printf("AliEveListAnalyser: Checking selection macro: %s\n", macro->GetName());
 #endif
 
-    // Find the object types of the macro
-    mSelObjectType[i] = macro->GetObjectType();
-    mSelObjectType2[i] = macro->GetObjectType2();
-       
-    // Find the type of the process macro
-    macroType = macro->GetType();
+      // Find the object types of the macro
+      mSelObjectType[i] = macro->GetObjectType();
+      mSelObjectType2[i] = macro->GetObjectType2();
+
+      // Find the type of the process macro
+      macroType = macro->GetType();
 
-    // Single Object select macro
-    if (macroType == kSingleObjectSelect) {
-      // Has already been processed by ApplySOSelectionMacros(...)
-      mSelType[i] = macroType;         
+      // Single Object select macro
+      if (macroType == kSingleObjectSelect) {
+        // Has already been processed by ApplySOSelectionMacros(...)
+        mSelType[i] = macroType;
+      }
+      // Correlated Objects select macro
+      else if (macroType == kCorrelObjectSelect) {
+        mSelType[i] = macroType;
+
+        // Create the command
+        selCmds[i] = macro->GetCmd();
+      } else {
+        Error("Apply process macros",
+          Form("Macro list corrupted: Macro \"%s/%s.C\" is not registered as a selection macro!",
+          macro->GetPath(), macro->GetName()));
+        mSelType[i] = kUnknown;
+      }
     }
-    // Correlated Objects select macro
-    else if (macroType == kCorrelObjectSelect) {
-      mSelType[i] = macroType;  
-      // Create the command
-      selCmds[i] = macro->GetCmd();
-    } else {
-      Error("Apply process macros", 
-        Form("Macro list corrupted: Macro \"%s/%s.C\" is not registered as a selection macro!", 
-        macro->GetPath(), macro->GetName()));
-      mSelType[i] = kUnknown;
-    } 
-  }  
+  }
 
   // Allocate memory for the histograms
-  if (numHistoMacros > 0)  histos = new TH1*[numHistoMacros];
-  for (Int_t i = 0; i < numHistoMacros; i++)  histos[i] = 0x0;
-
+  if (numHistoMacros > 0){
+    histos = new TH1*[numHistoMacros];
+    memset(histos, 0, numHistoMacros*sizeof(TH1*));
+  }
   Bool_t secondBeforeFirstObject = kTRUE;
   
 
@@ -702,7 +689,7 @@ Bool_t AliEveListAnalyser::ApplyProcessMacros(const TList* selIterator, const TL
       // Single object histo
       if (mProcType[i] == kSingleObjectHisto){
         returnedHist = (TH1*)gROOT->ProcessLineSync(procCmds[i]);
-        if (returnedHist)
+        if (histos && returnedHist)
         {
           if (!histos[histoIndex])  histos[histoIndex] = returnedHist;
           else  
@@ -1091,22 +1078,22 @@ AliEveListAnalyser::AliEveListAnalyserMacroType AliEveListAnalyser::GetMacroType
   TString* mangledArg2Str = new TString();
 
   // We want "const 'OBJECTTYPE'*"
-  mangled1Str->Append("const ").Append(*typeStr).Append("*");
+  mangled1Str->Form("const %s*", typeStr->Data());
 
   // We want "const 'OBJECTTYPE'*, Double_t*&, Int_t&"
-  mangled2Str->Append("const ").Append(*typeStr).Append("*, Double_t*&, Int_t&");
+  mangled2Str->Form("const %s*, Double_t*&, Int_t&", typeStr->Data());
 
   // We want "const 'OBJECTTYPE'*, const 'OBJECTTYPE2'*"
-  mangled3Str->Append("const ").Append(*typeStr).Append("*, const ").Append(*typeStr2).Append("*");
+  mangled3Str->Form("const %s*, const %s*", typeStr->Data(), typeStr2->Data());
 
   // We want "const 'OBJECTTYPE'*, const 'OBJECTTYPE2'*, Double_t*&, Int_t&"
-  mangled4Str->Append("const ").Append(*typeStr).Append("*, const ").Append(*typeStr2).Append("*, Double_t*&, Int_t&");
+  mangled4Str->Form("const %s*, const %s*, Double_t*&, Int_t&", typeStr->Data(), typeStr2->Data());
 
   // We want "oPconstsP'OBJECTTYPE'mUsP"
-  mangledArg1Str->Append("oPconstsP").Append(*typeStr).Append("mUsP");
+  mangledArg1Str->Form("oPconstsP%smUsP", typeStr->Data());
 
   // We want "cOconstsP'OBJECTTYPE2'mUsP"
-  mangledArg2Str->Append("cOconstsP").Append(*typeStr2).Append("mUsP");  
+  mangledArg2Str->Form("cOconstsP%smUsP", typeStr2->Data());
   
   // Re-do the check of the macro type
   if (!UseList){
index caff430..17844b1 100644 (file)
@@ -306,12 +306,12 @@ public:
   void SetCmd(const char* newCmd)               // Sets the command that will be used to call this macro
   { 
     memset(fCmd, '\0', sizeof(Char_t) * MAX_APPLY_COMMAND_LENGTH);
-    sprintf(fCmd, "%s", newCmd);
+    snprintf(fCmd, MAX_APPLY_COMMAND_LENGTH, "%s", newCmd);
   }
   void SetName(const char* newName)             // Sets the macro name (please use without ".C")
   { 
     memset(fName, '\0', sizeof(Char_t) * MAX_MACRO_NAME_LENGTH);
-    sprintf(fName, "%s", newName);
+    snprintf(fName, MAX_MACRO_NAME_LENGTH, "%s", newName);
   }
   void SetObjectType(TClass* newObjectType)     // Sets the object type of the macro parameter (1st pointer)
   { 
@@ -324,7 +324,7 @@ public:
   void SetPath(const char* newPath)             // Sets the path of the macro
   { 
     memset(fPath, '\0', sizeof(Char_t) * MAX_MACRO_PATH_LENGTH);
-    sprintf(fPath, "%s", newPath);
+    snprintf(fPath, MAX_MACRO_PATH_LENGTH, "%s", newPath);
   }
   void SetSelected(Bool_t selection)            // Sets whether the macro is selected or not
   {
index 4d9de8c..679c052 100644 (file)
@@ -362,11 +362,8 @@ void AliEveListAnalyserEditor::ApplyMacros()
 
     DrawHistos();
   }
-
-  if (selIterator != 0) delete selIterator;
-  selIterator = 0;  
-  if (procIterator != 0)  delete procIterator;  
-  procIterator = 0;  
+  delete selIterator;
+  delete procIterator;  
   
   if (!success)
   {
@@ -762,17 +759,16 @@ void AliEveListAnalyserEditor::HandleMacroPathSet()
       {
         name = new Char_t[AliEveListAnalyser::fkMaxMacroNameLength];
         memset(name, '\0', sizeof(Char_t) * AliEveListAnalyser::fkMaxMacroNameLength);
-        sprintf(name, "%s", fteField->GetText());
+        snprintf(name, AliEveListAnalyser::fkMaxMacroNameLength, "%s", fteField->GetText());
 
         // Add path to textfield -> Path is "./" -> Use length for the name + 2
         Char_t pathname[AliEveListAnalyser::fkMaxMacroNameLength + 2];
         memset(pathname, '\0', sizeof(Char_t) * (AliEveListAnalyser::fkMaxMacroNameLength + 2));
-        sprintf(pathname, "./%s", fteField->GetText());
+        snprintf(pathname, AliEveListAnalyser::fkMaxMacroNameLength + 2, "./%s", fteField->GetText());
         fteField->SetText(pathname);
 
         AddMacro(name);  
-        if (name != 0)  delete [] name;
-        name = 0;
+        delete [] name;
       }
       // Different path
       else
@@ -783,10 +779,8 @@ void AliEveListAnalyserEditor::HandleMacroPathSet()
         strncpy(path, fteField->GetText(), strlen(fteField->GetText()) - strlen(name));
         
         // Ignore the slash "/" in name
-        AddMacro(name + 1, path);  
-  
-        if (path != 0)  delete [] path;
-        path = 0;
+        AddMacro(name + 1, path);    
+        delete [] path;
       }       
     }
     else
@@ -885,9 +879,7 @@ void AliEveListAnalyserEditor::RemoveMacros()
   fM->fMacroListSelected = 0;
 
   UpdateMacroList();
-
-  if (iterator != 0)  delete iterator;
-  iterator = 0;
+  delete iterator;
 }
 
 //______________________________________________________
@@ -1343,15 +1335,11 @@ void AliEveGeneralMacroWizard::Create(Int_t type)
   Bool_t useGivenType2 = kFALSE;
 
   // Remove white-spaces
-  TString* typeStr = new TString();
-
-  typeStr->Append(fTextObjectType->GetText());
+  TString* typeStr = new TString(fTextObjectType->GetText());
   typeStr->ReplaceAll(" ", "");
   fTextObjectType->SetText(typeStr->Data(), kFALSE);
 
-  TString* typeStr2 = new TString();
-
-  typeStr2->Append(fTextObjectType2->GetText());
+  TString* typeStr2 = new TString(fTextObjectType2->GetText());
   typeStr2->ReplaceAll(" ", "");
   fTextObjectType2->SetText(typeStr2->Data(), kFALSE);
 
@@ -1457,11 +1445,10 @@ void AliEveGeneralMacroWizard::Create(Int_t type)
   Char_t* line = 0x0; Int_t iline = 0;
   while((line = comment->GetLine(TGLongPosition(0,iline++), 200))) fprintf(fp, "// %s\n", line);
 
-  TString* tempStr = new TString();
+  TString* tempStr = new TString(fTextIncludes->GetText());
 
   // Add include files:
   // Remove white-spaces and replace commas
-  tempStr->Append(fTextIncludes->GetText());  
   tempStr->ReplaceAll(" ", "");
   tempStr->ReplaceAll(",","\n#include ");
   // If there are files, add the first "#include " in front
@@ -1475,12 +1462,12 @@ void AliEveGeneralMacroWizard::Create(Int_t type)
   if (!useGivenType)
   {
     typeStr->Clear();
-    typeStr->Append("TObject");
+    (*typeStr)="TObject";
   }
   if (!useGivenType2)
   {
     typeStr2->Clear();
-    typeStr2->Append("TObject");
+    (*typeStr2)="TObject";
   }
 
   switch(type){
index 5b323ab..ffa84ff 100644 (file)
@@ -299,25 +299,25 @@ Bool_t AliEveTRDLoader::Open(const char *filename, const char *dir)
   }
 
   if(((TObjString*)(*so)[1])->GetString().CompareTo("Hits") == 0){
-    if(count && !fDataType&kTRDHits){ 
+    if(count && !(fDataType&kTRDHits)){ 
       AliWarning("Data type set to HITS according to file name. Previous settings will be overwritten.");
       fDataType = 0; 
     }
     fDataType|=kTRDHits;
   } else   if(((TObjString*)(*so)[1])->GetString().CompareTo("Digits") == 0){
-    if(count && !fDataType&kTRDDigits){ 
+    if(count && !(fDataType&kTRDDigits)){ 
       AliWarning("Data type set to DIGITS according to file name. Previous settings will be overwritten.");
       fDataType = 0; 
     }
     fDataType|=kTRDDigits;
   } else if(((TObjString*)(*so)[1])->GetString().CompareTo("RecPoints") == 0){
-    if(count && !fDataType&kTRDClusters){ 
+    if(count && !(fDataType&kTRDClusters)){ 
       AliWarning("Data type set to CLUSTERS according to file name. Previous settings will be overwritten.");
       fDataType = 0; 
     }
     fDataType|=kTRDClusters;  
   } else if(((TObjString*)(*so)[1])->GetString().CompareTo("Tracklets") == 0){
-    if(count && !fDataType&kTRDTracklets){ 
+    if(count && !(fDataType&kTRDTracklets)){ 
       AliWarning("Data type set to TRACKLETS according to file name. Previous settings will be overwritten.");
       fDataType = 0; 
     }
index c762ed5..5ae6859 100644 (file)
@@ -453,9 +453,10 @@ Bool_t AliEveTRDTrackList::ApplyProcessMacros(const TList* selIterator, const TL
   }  
 
   // Allocate memory for the histograms
-  if (numHistoMacros > 0)  histos = new TH1*[numHistoMacros];
-  memset(histos, 0, numHistoMacros*sizeof(TH1*));
-
+  if (numHistoMacros > 0){
+    histos = new TH1*[numHistoMacros];
+    memset(histos, 0, numHistoMacros*sizeof(TH1*));
+  }
 
   //////////////////////////////////
   // WALK THROUGH THE LIST OF TRACKS