Forráskód Böngészése

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 13 éve
szülő
commit
7c4be0fb51
1 módosított fájl, 9 hozzáadás és 6 törlés
  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;