Page MenuHomePhabricator

Crash on DICOM loading
Closed, ResolvedPublic

Description

Certain private tags can cause a crash in the CEST IO Module. This was observed in the dicom2nrrd conversion in the dcipher/JIP context, reference data is not sharable, but we could track down the problem to

https://phabricator.mitk.org/source/mitk/browse/master/Modules/CEST/src/mitkCustomTagParser.cpp$269

There is a lack of tests for valid input here.

Event Timeline

nolden triaged this task as Normal priority.Dec 19 2019, 1:54 PM
nolden created this task.

@k656s Is the example data available on our network drives?

Despite all of the obvious flaws of the parsing code around the highlighted line linked above, the particular reason for the crash is a missing check against npos regarding the results of the find() calls. Even without a more comprehensive fix, the hex number string extraction and conversion to ASCII characters should be enhanced by checking against non-ASCII hex values.

CI

These tests fail after my "improvements":

mitkCESTDICOMReaderServiceTest
mitkCustomTagParserTest

hettich changed the visibility from "Public (No Login Required)" to "All Users".Jun 22 2020, 10:42 AM
kislinsk changed the visibility from "All Users" to "Public (No Login Required)".Jun 22 2020, 1:38 PM
kislinsk added a subscriber: hettich.

@hettich Why? 🤔