Reviewers: zundel,

Description:
check the return value of ImageIO.write


Please review this at http://gwt-code-reviews.appspot.com/1030801/show

Affected files:
  M user/src/com/google/gwt/resources/rg/ImageBundleBuilder.java
  M user/src/com/google/gwt/user/rebind/ui/ImageBundleBuilder.java


Index: user/src/com/google/gwt/resources/rg/ImageBundleBuilder.java
===================================================================
--- user/src/com/google/gwt/resources/rg/ImageBundleBuilder.java (revision 9091) +++ user/src/com/google/gwt/resources/rg/ImageBundleBuilder.java (working copy)
@@ -555,11 +555,16 @@

     try {
       ByteArrayOutputStream byteOutputStream = new ByteArrayOutputStream();
-      ImageIO.write(bundledImage, BUNDLE_FILE_TYPE, byteOutputStream);
-      imageBytes = byteOutputStream.toByteArray();
+ boolean writerAvailable = ImageIO.write(bundledImage, BUNDLE_FILE_TYPE,
+          byteOutputStream);
+      if (!writerAvailable) {
+ throw new IOException("No " + BUNDLE_FILE_TYPE + " writer available");
+      } else {
+        imageBytes = byteOutputStream.toByteArray();
+      }
     } catch (IOException e) {
       logger.log(TreeLogger.ERROR,
-          "Unable to generate file name for image bundle file", null);
+          "Unable to generate file name for image bundle file", e);
       throw new UnableToCompleteException();
     }
     return imageBytes;
Index: user/src/com/google/gwt/user/rebind/ui/ImageBundleBuilder.java
===================================================================
--- user/src/com/google/gwt/user/rebind/ui/ImageBundleBuilder.java (revision 9091) +++ user/src/com/google/gwt/user/rebind/ui/ImageBundleBuilder.java (working copy)
@@ -326,11 +326,16 @@

     try {
       ByteArrayOutputStream byteOutputStream = new ByteArrayOutputStream();
-      ImageIO.write(bundledImage, BUNDLE_FILE_TYPE, byteOutputStream);
-      imageBytes = byteOutputStream.toByteArray();
+ boolean writerAvailable = ImageIO.write(bundledImage, BUNDLE_FILE_TYPE,
+          byteOutputStream);
+      if (!writerAvailable) {
+ throw new IOException("No " + BUNDLE_FILE_TYPE + " writer available");
+      } else {
+        imageBytes = byteOutputStream.toByteArray();
+      }
     } catch (IOException e) {
       logger.log(TreeLogger.ERROR,
-          "Unable to generate file name for image bundle file", null);
+          "Unable to generate file name for image bundle file.", e);
       throw new UnableToCompleteException();
     }



--
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to