From 3b49b38aeb0b28b0567ff2055f27e1d29777efee Mon Sep 17 00:00:00 2001
From: Markus Frank <markus.frank@cern.ch>
Date: Wed, 5 Feb 2014 13:16:16 +0000
Subject: [PATCH] Fix coverity warnings.

---
 DDG4/src/Geant4Converter.cpp | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/DDG4/src/Geant4Converter.cpp b/DDG4/src/Geant4Converter.cpp
index 1f081bebb..e98bbda5c 100644
--- a/DDG4/src/Geant4Converter.cpp
+++ b/DDG4/src/Geant4Converter.cpp
@@ -565,7 +565,7 @@ void* Geant4Converter::handlePlacement(const string& name, const TGeoNode* node)
       else if ( node != gGeoManager->GetTopNode() && 0 == g4mot )  {
 	throw logic_error("Geant4Converter: Invalid mother volume found!");
       }
-      else if (daughter_is_assembly) {
+      else if ( g4mot && daughter_is_assembly ) {
         printout(DEBUG, "Geant4Converter", "++ Assembly: makeImprint: %16p dau:%s "
             "Tr:x=%8.3f y=%8.3f z=%8.3f  Rot:phi=%7.3f theta=%7.3f psi=%7.3f\n", ass_dau,
             g4mot ? g4mot->GetName().c_str() : "---", transform.dx(), transform.dy(), transform.dz(), rotmat.getPhi(),
@@ -587,6 +587,9 @@ void* Geant4Converter::handlePlacement(const string& name, const TGeoNode* node)
         }
         return 0;
       }
+      else if ( daughter_is_assembly ) {  // g4mot is NULL !
+	throw logic_error("Geant4Converter: Invalid mother - daughter relationship in assembly! ["+name+"]");
+      }
       g4 = new G4PVPlacement(transform,   // no rotation
           g4vol,     // its logical volume
           name,      // its name
-- 
GitLab