diff -BburN awt/src/main/java/common/java/awt/image/MultiPixelPackedSampleModel.java awt.new/src/main/java/common/java/awt/image/MultiPixelPackedSampleModel.java --- awt/src/main/java/common/java/awt/image/MultiPixelPackedSampleModel.java 2007-11-05 13:49:07.380085800 +0800 +++ awt.new/src/main/java/common/java/awt/image/MultiPixelPackedSampleModel.java 2007-11-05 13:49:13.298300700 +0800 @@ -208,7 +208,7 @@ @Override public DataBuffer createDataBuffer() { DataBuffer dataBuffer = null; - int size = scanlineStride * height; + int size = scanlineStride * height + width; switch (dataType) { case DataBuffer.TYPE_BYTE: diff -BburN awt/src/main/java/common/java/awt/image/Raster.java awt.new/src/main/java/common/java/awt/image/Raster.java --- awt/src/main/java/common/java/awt/image/Raster.java 2007-11-05 13:48:46.671340600 +0800 +++ awt.new/src/main/java/common/java/awt/image/Raster.java 2007-11-05 13:49:21.750032300 +0800 @@ -463,7 +463,7 @@ DataBuffer data = null; int size = ((bitsPerBand * w + DataBuffer.getDataTypeSize(dataType) - 1) / - DataBuffer.getDataTypeSize(dataType)) * h; + DataBuffer.getDataTypeSize(dataType)) * h + w; switch (dataType) { case DataBuffer.TYPE_BYTE: