Hi Oleg,

I'm not an expert in this code so I may ask some silly questions.

I'm OK with the change #2.

Regarding #1: could you please clarify what code is responsible for closing the stream now, after your fix? Is this documented/enforced anywhere (i.e. a finally{} block or something)? Have you run any regression tests to make sure this change doesn't introduce any memory leaks? Why was this not a problem before that we decided to fix this particular piece now, so late in the release?

--
best regards,
Anthony

On 10/28/2013 02:41 AM, Oleg Pekhovskiy wrote:
Hi all,

please review the fix
http://cr.openjdk.java.net/~bagiras/8027151.1/
for
https://bugs.openjdk.java.net/browse/JDK-8027151

This issue appeared after the changes made for JDK-7075105.
There were two problems:
1. In drop target code, in SunDropTargetContextPeer.getTransferData()
method inputStream was closed in finally scope but was not yet used in
client code (indirectly). Just its reference stored for the future in
DataTransferer.getInstance().translateStream() call.

2. In drop target code, in DataTransferer.translateStream() there was no
String object handler (it was moved from
DataTransferer.translateBytesOrStream() only to
DataTransferer.translateBytes() method).

Thanks,
Oleg

Reply via email to