Sfoglia il codice sorgente

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 anni fa
parent
commit
7c4be0fb51
1 ha cambiato i file con 9 aggiunte e 6 eliminazioni
  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;