Skip to content

Buffer overrun when encapsulated pixel data SequenceDelimitationItem (FFFE,E0DD) has undefined length #266

@jmhmd

Description

@jmhmd

I have some test files which I think are non-compliant, but wondering if dicomParser's handling is optimal. These files have encapsulated pixel data with one defined length item containing the pixel data stream. However, it appears that the pixel data sequence delimitation item (FFFE,E0DD) has length = 4294967295 (undefined), rather than 0. I believe a length of 0 is required per the standard: https://dicom.nema.org/medical/dicom/current/output/chtml/part05/sect_7.5.2.html

dicomParser, however, takes whatever length is given and tries to seek to that position, which results in a buffer overrun error being thrown. Why doesn't dicomParser just assume a length of 0 for the FFFE,E0DD element as required by the standard? Relevant code here:

if (tag === 'xfffee0dd') {

Example file: https://drive.google.com/file/d/1tqXGAdfSq3H4oJA_w_dbhWJG2JrPapEx/view?usp=sharing

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions