changeset 7211:b66a441ea56a

8032370: No "Truncated file" warning from IIOReadWarningListener on JPEGImageReader Reviewed-by: bae, vadim
author prr
date Fri, 24 Jan 2014 10:34:31 -0800
parents 4be4362e6c8b
children eb725548e799
files src/share/native/sun/awt/image/jpeg/imageioJPEG.c src/share/native/sun/awt/image/jpeg/jpegdecoder.c
diffstat 2 files changed, 5 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/native/sun/awt/image/jpeg/imageioJPEG.c	Mon Jan 27 13:42:59 2014 +0000
+++ b/src/share/native/sun/awt/image/jpeg/imageioJPEG.c	Fri Jan 24 10:34:31 2014 -0800
@@ -939,7 +939,9 @@
                                 JPEGImageReader_readInputDataID,
                                 sb->hstreamBuffer, 0,
                                 sb->bufferLength);
-    if (ret > sb->bufferLength) ret = sb->bufferLength;
+    if ((ret > 0) && ((unsigned int)ret > sb->bufferLength)) {
+         ret = sb->bufferLength;
+    }
     if ((*env)->ExceptionOccurred(env)
         || !GET_ARRAYS(env, data, &(src->next_input_byte))) {
             cinfo->err->error_exit((j_common_ptr) cinfo);
@@ -1036,7 +1038,7 @@
                                 JPEGImageReader_readInputDataID,
                                 sb->hstreamBuffer,
                                 offset, buflen);
-    if (ret > buflen) ret = buflen;
+    if ((ret > 0) && ((unsigned int)ret > buflen)) ret = buflen;
     if ((*env)->ExceptionOccurred(env)
         || !GET_ARRAYS(env, data, &(src->next_input_byte))) {
         cinfo->err->error_exit((j_common_ptr) cinfo);
--- a/src/share/native/sun/awt/image/jpeg/jpegdecoder.c	Mon Jan 27 13:42:59 2014 +0000
+++ b/src/share/native/sun/awt/image/jpeg/jpegdecoder.c	Fri Jan 24 10:34:31 2014 -0800
@@ -350,7 +350,7 @@
     }
     ret = (*env)->CallIntMethod(env, src->hInputStream, InputStream_readID,
                                 src->hInputBuffer, offset, buflen);
-    if (ret > buflen) ret = buflen;
+    if ((ret > 0) && ((unsigned int)ret > buflen)) ret = buflen;
     if ((*env)->ExceptionOccurred(env) || !GET_ARRAYS(env, src)) {
         cinfo->err->error_exit((struct jpeg_common_struct *) cinfo);
     }