dicom-rs
dicom-rs copied to clipboard
Stream loss in association establishment when association acceptor sends more PDUs in quick succession
Stream establishment depends on get_client_pdu, which parses the PDU data from an in-memory buffer. When establishing an association, a temporary buffer is created and immediately dropped.
This usually does not pose an issue because an association acceptance is usually followed by the SCP waiting for data from the SCU. However, if for some reason the SCP tries to send an A-ASSOCIATE-AC plus one or more PDUs in quick succession, this can make the association client fetch more bytes than the ones necessary for reading a single PDU.
This is a regression from #542, which was mitigated by #590 so that it would work on other scenarios.