]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EPOS/TEpos.cxx
Fix for coverity 18265
[u/mrichter/AliRoot.git] / EPOS / TEpos.cxx
index 4bbb68a783d75455f9cb4ce28b9e11e9a7c9d379..ef84630c9b70cd86f22f1175cb8d8fdb79ae7397 100644 (file)
@@ -75,12 +75,32 @@ TEpos::~TEpos() {
        delete fIdConverter;
 }
 
-TEpos& TEpos::operator=(const TEpos&) {
+TEpos& TEpos::operator=(const TEpos& epos) {
   //operator=
-       if (!fIdConverter) {
-               fIdConverter = new AliGenEposIsajetToPdgConverter();
-       }
-       return *this;
+  if (this != &epos) {
+    if (fIdConverter) {
+      fIdConverter = new AliGenEposIsajetToPdgConverter(*epos.fIdConverter);
+    } else{
+      fIdConverter = 0;
+    }
+    fLaproj = epos.fLaproj;
+    fMaproj = epos.fMaproj;
+    fLatarg = epos.fLatarg;
+    fMatarg = epos.fMatarg;
+    fBminim = epos.fBminim;
+    fBmaxim = epos.fBmaxim;
+    fPhimin = epos.fPhimin;
+    fPhimax = epos.fPhimax;
+    fEcms   = epos.fEcms;
+    fSplitting = epos.fSplitting;
+    for(UInt_t i = 0; i < epos.fNoDecays.size(); ++i) {
+      fNoDecays.push_back(epos.fNoDecays[i]);
+    }
+    for(UInt_t i = 0; i < epos.fExtraInputLines.size(); ++i) {
+      fExtraInputLines.push_back(epos.fExtraInputLines[i]);
+    }
+  }
+  return *this;
 }
 
 void TEpos::Initialize() {
@@ -185,11 +205,11 @@ void TEpos::GenerateInputFile() {
        char epo[256];
        char *epoEnv = getenv("EPO");
        if (epoEnv) {
-               strncpy(epo, epoEnv, 256);
+               strncpy(epo, epoEnv, 255);
        } else {
-               strncpy(epo, getenv("ALICE_ROOT"), 256);
+               strncpy(epo, getenv("ALICE_ROOT"), 255);
        }
-       strncat(epo, "/EPOS/epos167", 256);
+       strncat(epo, "/EPOS/epos167", 255);
 
        file << "fname pathnx " << epo << "/" << endl;
        file << "fname histo none" << endl;