[
https://issues.apache.org/jira/browse/CXF-2050?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Daniel Kulp reassigned CXF-2050:
--------------------------------
Assignee: Daniel Kulp
> MimeBodyPartInputStream never finishes reading certain streams
> --------------------------------------------------------------
>
> Key: CXF-2050
> URL: https://issues.apache.org/jira/browse/CXF-2050
> Project: CXF
> Issue Type: Bug
> Affects Versions: 2.1.4
> Reporter: aaron pieper
> Assignee: Daniel Kulp
> Attachments: MimeBodyPartInputStreamTest.java, patch.txt
>
>
> The MimeBodyPartInputStream class never finishes reading certain kinds of
> input streams - it continues to read the same bytes over and over. One result
> of this issue is that the AttachmentDeserializer enters an infinite loop when
> trying to deserialize a binary attachment, so I would consider this an
> important issue.
> It appears that the problem has to do with how the end of the stream is read.
> First, the MimeBody stream's read() method reads the to the end of the
> PushBack stream. Upon reaching the end of the PushBack stream, the MimeBody
> stream's hasData() method unreads the last 15 bytes of the PushBack stream.
> The MimeBody stream's read() method returns 0, which signals that more data
> needs to be read. This loop can happen over and over - the invoking code will
> keep asking the MimeBody stream for more data, and the MimeBody stream will
> continue returning 0.
> The MimeBody stream should return -1 if there is no more data to be read - it
> does this in most cases, but it doesn't handle this case for some reason.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.