Mercurial > hg > release > icedtea7-forest-2.3 > jdk
changeset 6379:728bfc6b1979
8024697: Fix for 8020983 causes Xcheck:jni warnings
Reviewed-by: prr, jchen
author | bae |
---|---|
date | Fri, 13 Sep 2013 19:19:55 +0400 |
parents | 95df35b314eb |
children | 4f121e8c7e4b |
files | src/share/native/sun/awt/image/jpeg/imageioJPEG.c test/javax/imageio/plugins/jpeg/JpegWriterLeakTest.java |
diffstat | 2 files changed, 12 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/native/sun/awt/image/jpeg/imageioJPEG.c Thu Aug 01 00:00:38 2013 +0400 +++ b/src/share/native/sun/awt/image/jpeg/imageioJPEG.c Fri Sep 13 19:19:55 2013 +0400 @@ -930,9 +930,10 @@ * Now fill a complete buffer, or as much of one as the stream * will give us if we are near the end. */ + RELEASE_ARRAYS(env, data, src->next_input_byte); + GET_IO_REF(input); - RELEASE_ARRAYS(env, data, src->next_input_byte); ret = (*env)->CallIntMethod(env, input, JPEGImageReader_readInputDataID, @@ -1017,9 +1018,11 @@ memcpy(sb->buf, src->next_input_byte, offset); } - GET_IO_REF(input); RELEASE_ARRAYS(env, data, src->next_input_byte); + + GET_IO_REF(input); + buflen = sb->bufferLength - offset; if (buflen <= 0) { if (!GET_ARRAYS(env, data, &(src->next_input_byte))) { @@ -1121,9 +1124,10 @@ return; } + RELEASE_ARRAYS(env, data, src->next_input_byte); + GET_IO_REF(input); - RELEASE_ARRAYS(env, data, src->next_input_byte); ret = (*env)->CallLongMethod(env, input, JPEGImageReader_skipInputBytesID, @@ -2307,10 +2311,10 @@ JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2); jobject output = NULL; + RELEASE_ARRAYS(env, data, (const JOCTET *)(dest->next_output_byte)); + GET_IO_REF(output); - RELEASE_ARRAYS(env, data, (const JOCTET *)(dest->next_output_byte)); - (*env)->CallVoidMethod(env, output, JPEGImageWriter_writeOutputDataID, @@ -2349,10 +2353,10 @@ if (datacount != 0) { jobject output = NULL; + RELEASE_ARRAYS(env, data, (const JOCTET *)(dest->next_output_byte)); + GET_IO_REF(output); - RELEASE_ARRAYS(env, data, (const JOCTET *)(dest->next_output_byte)); - (*env)->CallVoidMethod(env, output, JPEGImageWriter_writeOutputDataID,
--- a/test/javax/imageio/plugins/jpeg/JpegWriterLeakTest.java Thu Aug 01 00:00:38 2013 +0400 +++ b/test/javax/imageio/plugins/jpeg/JpegWriterLeakTest.java Fri Sep 13 19:19:55 2013 +0400 @@ -23,7 +23,7 @@ /** * @test - * @bug 8020983 + * @bug 8020983 8024697 * @summary Test verifies that jpeg writer instances are collected * even if destroy() or reset() methods is not invoked. *