# HG changeset patch # User martin # Date 1205184771 25200 # Node ID 9291315d799d2ee52b05d0e4f85df6d6486d780d # Parent bfccfd41f0fc0d2c103c492f04b3533f92235d9d 6632696: Writing to closed output files (writeBytes) leaks native memory (unix) Reviewed-by: alanb, iris diff -r bfccfd41f0fc -r 9291315d799d jdk/src/share/native/java/io/io_util.c --- a/jdk/src/share/native/java/io/io_util.c Mon Mar 10 14:32:50 2008 -0700 +++ b/jdk/src/share/native/java/io/io_util.c Mon Mar 10 14:32:51 2008 -0700 @@ -40,7 +40,7 @@ char ret; FD fd = GET_FD(this, fid); if (fd == -1) { - JNU_ThrowIOException (env, "Stream Closed"); + JNU_ThrowIOException(env, "Stream Closed"); return -1; } nread = IO_Read(fd, &ret, 1); @@ -94,7 +94,7 @@ fd = GET_FD(this, fid); if (fd == -1) { - JNU_ThrowIOException (env, "Stream Closed"); + JNU_ThrowIOException(env, "Stream Closed"); return -1; } @@ -121,7 +121,7 @@ int n; FD fd = GET_FD(this, fid); if (fd == -1) { - JNU_ThrowIOException (env, "Stream Closed"); + JNU_ThrowIOException(env, "Stream Closed"); return; } n = IO_Write(fd, &c, 1); @@ -172,8 +172,8 @@ while (len > 0) { fd = GET_FD(this, fid); if (fd == -1) { - JNU_ThrowIOException (env, "Stream Closed"); - return; + JNU_ThrowIOException(env, "Stream Closed"); + break; } n = IO_Write(fd, buf+off, len); if (n == JVM_IO_ERR) {