Quellcode durchsuchen

Fix for possible null DcmObject

Didn't happen with older dcmtk (3.6), but appears to happen
with newer versions so check for it.
Steve Pieper vor 13 Jahren
Ursprung
Commit
7c4be0fb51
1 geänderte Dateien mit 9 neuen und 6 gelöschten Zeilen
  1. 9 6
      Libs/DICOM/Core/ctkDICOMDatabase.cpp

+ 9 - 6
Libs/DICOM/Core/ctkDICOMDatabase.cpp

@@ -468,12 +468,15 @@ void ctkDICOMDatabase::loadFileHeader (QString fileName)
       while (dataset->nextObject(stack, true) == EC_Normal)
         {
           DcmObject *dO = stack.top();
-          QString tag = QString("%1,%2").arg(
-                dO->getGTag(),4,16,QLatin1Char('0')).arg(
-                dO->getETag(),4,16,QLatin1Char('0'));
-          std::ostringstream s;
-          dO->print(s);
-          d->LoadedHeader[tag] = QString(s.str().c_str());
+          if (dO)
+            {
+              QString tag = QString("%1,%2").arg(
+                    dO->getGTag(),4,16,QLatin1Char('0')).arg(
+                    dO->getETag(),4,16,QLatin1Char('0'));
+              std::ostringstream s;
+              dO->print(s);
+              d->LoadedHeader[tag] = QString(s.str().c_str());
+            }
         }
     }
   return;