[ https://issues.apache.org/jira/browse/CXF-4227?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Freeman Fang resolved CXF-4227. ------------------------------- Resolution: Fixed Fix Version/s: 2.6 2.5.3 2.4.7 2.3.10 Apply patch on behalf of Andreas Krüger with thanks http://svn.apache.org/viewvc?rev=1310200&view=rev for trunk http://svn.apache.org/viewvc?rev=1310214&view=rev for 2.5.x branch http://svn.apache.org/viewvc?rev=1310216&view=rev for 2.4.x branch http://svn.apache.org/viewvc?rev=1310218&view=rev for 2.3.x branch > AttachmentDeserializerTest contains buggy code for reading an InputStream. > -------------------------------------------------------------------------- > > Key: CXF-4227 > URL: https://issues.apache.org/jira/browse/CXF-4227 > Project: CXF > Issue Type: Bug > Components: WS-* Components > Reporter: Andreas Krüger > Assignee: Freeman Fang > Priority: Minor > Labels: patch > Fix For: 2.3.10, 2.4.7, 2.5.3, 2.6 > > Attachments: AttachmentDeserializerTest.patch > > Original Estimate: 0.5h > Remaining Estimate: 0.5h > > Browsing through the CXF code, I stumbled over the following in > AttachmentDeserializerTest, method testCXF3383(): > {code} > for (int x = 1; x < 50; x++) { > String cid = "1882f79d-e20a-4b36-a222-7a75518cf395-" + x + > "@cxf.apache.org"; > DataSource ds = AttachmentUtil.getAttachmentDataSource(cid, > message.getAttachments()); > byte bts[] = new byte[1024]; > > InputStream ins = ds.getInputStream(); > int count = ins.read(bts, 0, bts.length); > int sz = ins.read(bts, count, bts.length - count); > while (sz != -1) { > sz = ins.read(bts, count, bts.length - count); > } > assertEquals(x + 1, count); > } > {code} > I think some "count += sz" has been forgotten. Details: > * The while-loop does nothing to change the test result. > * Endless loop, should "ins" ever deliver 1025 bytes or more. > * (If "ins" is 0 bytes, then count will be -1.) > * The fix is obvious, I'll attach a patch. > The problem does not show as long as "ins" contains less than 1024 bytes and > all its content is delivered with the first read operation. So no functional > impairment, just code hygiene. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira