]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliTPCConfigParser.cxx
Fix Coverity reports
[u/mrichter/AliRoot.git] / TPC / AliTPCConfigParser.cxx
index fa6bc6dabcdfd4e8f1a6038ce24ddfeca92eb25a..e04b68f18b229bea283fe10966355d8f59396711 100644 (file)
@@ -179,10 +179,10 @@ const char* AliTPCConfigParser::GetData(const char *key, UInt_t position)
   //
   //Get value for the speciefied key
   //
-  TObject *val=((TObjArray*)fConfigMap->FindObject(key))->At(position);
-  if ( !val ) {
-    return "";
-  }
+  TObjArray *arr=((TObjArray*)fConfigMap->FindObject(key));
+  if (position>=(UInt_t)(arr->GetEntries())) return "";
+  TObject *val=arr->At(position);
+  if ( !val ) return "";
   return (((TObjString*)val)->GetString()).Data();
 }
 //_____________________________________________________________________
@@ -202,10 +202,10 @@ const char* AliTPCConfigParser::GetData(const TObject *key, UInt_t position)
   //
   //Get value for the speciefied key
   //
-  TObject *val=((TObjArray*)fConfigMap->FindObject(key))->At(position);
-  if ( !val ) {
-    return "";
-  }
+  TObjArray *arr=((TObjArray*)fConfigMap->FindObject(key));
+  if (position>=((UInt_t)arr->GetEntries())) return "";
+  TObject *val=arr->At(position);
+  if ( !val ) return "";
   return (((TObjString*)val)->GetString()).Data();
 }
 //_____________________________________________________________________
@@ -246,7 +246,10 @@ TObject* AliTPCConfigParser::NextValue(TObject *key){
 TObject* AliTPCConfigParser::NextValueIter(TObjArray *key){
   if (!key) return 0;
   //check if the collection has changed
-  if (fValIter && key!=fValIter->GetCollection()) delete fValIter;
+  if (fValIter && key!=fValIter->GetCollection()) {
+    delete fValIter;
+    fValIter=0x0;
+  }
   if (!fValIter) fValIter=key->MakeIterator();
   TObject *value=fValIter->Next();
   if (!value) {