Project

General

Profile

Actions

Bug #1045

closed

Some classes and tools handle the DIMSE DataSetType flag incorrectly

Added by Marco Eichelberg almost 3 years ago. Updated almost 3 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
Library and Apps
Target version:
Start date:
2022-11-11
Due date:
% Done:

100%

Estimated time:
1:00 h
Module:
dcmnet, dcmpstat, dcmppscu, dcmpps, dcmppswm, dcmstcom
Operating System:
Compiler:

Description

In the DICOM network protocol, the DataSetType attribute, which is defined for all DIMSE message types, indicates whether or not a dataset follows after the command set. Value 0x0101 indicates that no dataset follows, all other values indicate that a dataset follows.

Some DCMTK code incorrectly checks if the value of DataSetType equals the constant DIMSE_DATASET_PRESENT, defined as 0x0001 in DCMTK, instead of checking if the value is different from 0x0101. This will fail if the code interacts with a different DICOM implementation that uses a different value to indicate that a dataset is present.

Affected are the classes DcmSCP, DcmSCU and DcmTLSSCU, as well as the command line tools dcmprscp, dcmprscu, dcmsend, and dcmrecv. Also affected are the private modules dcmppscu, dcmpps, dcmppswm and dcmstcom.

Actions #1

Updated by Marco Eichelberg almost 3 years ago

  • Status changed from New to Closed
  • % Done changed from 0 to 100
  • Estimated time set to 1:00 h

Fixed by commit #30ff1a2e6 for the public modules and commit #0eee72849 for the private modules.

Actions

Also available in: Atom PDF