Project

General

Profile

Actions

Feature #591

open

Warning on odd value length in case of 0xffffffff (undefined length)

Added by Jörg Riesmeier over 11 years ago. Updated over 5 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
Library
Target version:
-
Start date:
2014-02-26
Due date:
% Done:

0%

Estimated time:
Module:
dcmdata
Operating System:
Compiler:

Description

From DcmItem::readTagAndLength():

    /* if the value in length is odd, print an error message */
    if ( (valueLength & 1) && (valueLength != DCM_UndefinedLength) )
    {
        DCMDATA_WARN("DcmItem: Length of element " << newTag << " is odd");
    }

This warning is not reported on e.g. UT values with a length of 0xffffffff even though it would be forbidden to use such a length in a dataset (since this value is reserved for "undefined length", which is not allowed for most VRs).

Also the following if-statement (from the same method) does not check for VRs where undefined length is allowed at all:

   /* if desired, check if length is greater than length of surrounding item */
    const Uint32 valueLengthItem = getLengthField();
    if ((ident() == EVR_item /* e.g. meta info would have length 0 */) &&
        (valueLengthItem != DCM_UndefinedLength /* this does not work in undefined length items */) &&
        (valueLength != DCM_UndefinedLength) /* Also, do not check sequences with undefined length 0xFFFFFFFF */
       )
Actions

Also available in: Atom PDF