[OpenJDK 2D-Dev] FileCacheImageOutputStream.close() is not idempotent

Phil Race philip.race at oracle.com
Thu Jun 14 20:36:42 UTC 2012

It looks as if the new proposed fix will mean cached data isn't flushed 
before you close
the stream ??


On 6/14/12 1:25 PM, Martin Desruisseaux wrote:
> Le 14/06/12 19:37, Phil Race a écrit :
>> I think it acceptable to make it call checkClosed() conpatibility 
>> wise since apps must already be ready
>> for an IOException and are actually less like to be ready for the NPE ..
> After a second look to the code, it appears to have been the original 
> intend. All ImageInputStream and ImageOutputStream implementations 
> invoke super.close(), which in turn invoke checkClosed(). It just 
> appears that FileCacheImageOutputStream is making this invocation too 
> late - we get a NPE before to reach (indirectly) the checkClosed() call.
> I attached to this email the new proposed fix.
>     Martin

More information about the 2d-dev mailing list