From harmony-commits-return-6401-apmail-incubator-harmony-commits-archive=incubator.apache.org@incubator.apache.org Mon Jul 03 19:06:40 2006 Return-Path: Delivered-To: apmail-incubator-harmony-commits-archive@www.apache.org Received: (qmail 30996 invoked from network); 3 Jul 2006 19:06:40 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 3 Jul 2006 19:06:40 -0000 Received: (qmail 97338 invoked by uid 500); 3 Jul 2006 19:06:39 -0000 Delivered-To: apmail-incubator-harmony-commits-archive@incubator.apache.org Received: (qmail 97302 invoked by uid 500); 3 Jul 2006 19:06:39 -0000 Mailing-List: contact harmony-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: harmony-dev@incubator.apache.org Delivered-To: mailing list harmony-commits@incubator.apache.org Received: (qmail 97290 invoked by uid 99); 3 Jul 2006 19:06:39 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 03 Jul 2006 12:06:39 -0700 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [140.211.166.113] (HELO eris.apache.org) (140.211.166.113) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 03 Jul 2006 12:06:38 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id 175181A983A; Mon, 3 Jul 2006 12:06:18 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r418829 - in /incubator/harmony/enhanced/classlib/trunk/modules/nio/src: main/java/java/nio/ test/java/org/apache/harmony/tests/java/nio/ Date: Mon, 03 Jul 2006 19:06:15 -0000 To: harmony-commits@incubator.apache.org From: ndbeyer@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20060703190618.175181A983A@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: ndbeyer Date: Mon Jul 3 12:06:14 2006 New Revision: 418829 URL: http://svn.apache.org/viewvc?rev=418829&view=rev Log: Apply patch for HARMONY-264: java.nio.CharBuffer.wrap NullPointerException behaviour Modified: incubator/harmony/enhanced/classlib/trunk/modules/nio/src/main/java/java/nio/ByteBuffer.java incubator/harmony/enhanced/classlib/trunk/modules/nio/src/main/java/java/nio/CharBuffer.java incubator/harmony/enhanced/classlib/trunk/modules/nio/src/main/java/java/nio/DoubleBuffer.java incubator/harmony/enhanced/classlib/trunk/modules/nio/src/main/java/java/nio/FloatBuffer.java incubator/harmony/enhanced/classlib/trunk/modules/nio/src/main/java/java/nio/IntBuffer.java incubator/harmony/enhanced/classlib/trunk/modules/nio/src/main/java/java/nio/LongBuffer.java incubator/harmony/enhanced/classlib/trunk/modules/nio/src/main/java/java/nio/ShortBuffer.java incubator/harmony/enhanced/classlib/trunk/modules/nio/src/test/java/org/apache/harmony/tests/java/nio/ByteBufferTest.java incubator/harmony/enhanced/classlib/trunk/modules/nio/src/test/java/org/apache/harmony/tests/java/nio/CharBufferTest.java incubator/harmony/enhanced/classlib/trunk/modules/nio/src/test/java/org/apache/harmony/tests/java/nio/DoubleBufferTest.java incubator/harmony/enhanced/classlib/trunk/modules/nio/src/test/java/org/apache/harmony/tests/java/nio/FloatBufferTest.java incubator/harmony/enhanced/classlib/trunk/modules/nio/src/test/java/org/apache/harmony/tests/java/nio/IntBufferTest.java incubator/harmony/enhanced/classlib/trunk/modules/nio/src/test/java/org/apache/harmony/tests/java/nio/LongBufferTest.java incubator/harmony/enhanced/classlib/trunk/modules/nio/src/test/java/org/apache/harmony/tests/java/nio/ShortBufferTest.java Modified: incubator/harmony/enhanced/classlib/trunk/modules/nio/src/main/java/java/nio/ByteBuffer.java URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/nio/src/main/java/java/nio/ByteBuffer.java?rev=418829&r1=418828&r2=418829&view=diff ============================================================================== --- incubator/harmony/enhanced/classlib/trunk/modules/nio/src/main/java/java/nio/ByteBuffer.java (original) +++ incubator/harmony/enhanced/classlib/trunk/modules/nio/src/main/java/java/nio/ByteBuffer.java Mon Jul 3 12:06:14 2006 @@ -101,9 +101,12 @@ * invalid */ public static ByteBuffer wrap(byte[] array, int start, int len) { - if ((start< 0 ) || (len < 0) || start+ len > array.length) { - throw new IndexOutOfBoundsException(); - } + if (array == null) { + throw new NullPointerException(); + } + if ((start< 0 ) || (len < 0) || start+ len > array.length) { + throw new IndexOutOfBoundsException(); + } ByteBuffer buf = BufferFactory.newByteBuffer(array); buf.position = start; Modified: incubator/harmony/enhanced/classlib/trunk/modules/nio/src/main/java/java/nio/CharBuffer.java URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/nio/src/main/java/java/nio/CharBuffer.java?rev=418829&r1=418828&r2=418829&view=diff ============================================================================== --- incubator/harmony/enhanced/classlib/trunk/modules/nio/src/main/java/java/nio/CharBuffer.java (original) +++ incubator/harmony/enhanced/classlib/trunk/modules/nio/src/main/java/java/nio/CharBuffer.java Mon Jul 3 12:06:14 2006 @@ -91,9 +91,12 @@ * invalid */ public static CharBuffer wrap(char[] array, int start, int len) { - if ((start < 0 ) || (len < 0) || start + len > array.length) { - throw new IndexOutOfBoundsException(); - } + if (array == null) { + throw new NullPointerException(); + } + if ((start < 0 ) || (len < 0) || start + len > array.length) { + throw new IndexOutOfBoundsException(); + } CharBuffer buf = BufferFactory.newCharBuffer(array); buf.position = start; @@ -139,9 +142,11 @@ * invalid */ public static CharBuffer wrap(CharSequence chseq, int start, int end) { - if (start < 0 || end < start || end > chseq.length()) { - throw new IndexOutOfBoundsException(); - } + if (chseq == null) + throw new NullPointerException(); + if (start < 0 || end < start || end > chseq.length()) { + throw new IndexOutOfBoundsException(); + } CharBuffer result = BufferFactory.newCharBuffer(chseq); result.position = start; Modified: incubator/harmony/enhanced/classlib/trunk/modules/nio/src/main/java/java/nio/DoubleBuffer.java URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/nio/src/main/java/java/nio/DoubleBuffer.java?rev=418829&r1=418828&r2=418829&view=diff ============================================================================== --- incubator/harmony/enhanced/classlib/trunk/modules/nio/src/main/java/java/nio/DoubleBuffer.java (original) +++ incubator/harmony/enhanced/classlib/trunk/modules/nio/src/main/java/java/nio/DoubleBuffer.java Mon Jul 3 12:06:14 2006 @@ -82,9 +82,12 @@ * invalid */ public static DoubleBuffer wrap(double[] array, int start, int len) { - if (start < 0 || len < 0 || start+ len > array.length) { - throw new IndexOutOfBoundsException(); - } + if (array == null) { + throw new NullPointerException(); + } + if (start < 0 || len < 0 || start+ len > array.length) { + throw new IndexOutOfBoundsException(); + } DoubleBuffer buf = BufferFactory.newDoubleBuffer(array); buf.position = start; Modified: incubator/harmony/enhanced/classlib/trunk/modules/nio/src/main/java/java/nio/FloatBuffer.java URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/nio/src/main/java/java/nio/FloatBuffer.java?rev=418829&r1=418828&r2=418829&view=diff ============================================================================== --- incubator/harmony/enhanced/classlib/trunk/modules/nio/src/main/java/java/nio/FloatBuffer.java (original) +++ incubator/harmony/enhanced/classlib/trunk/modules/nio/src/main/java/java/nio/FloatBuffer.java Mon Jul 3 12:06:14 2006 @@ -82,9 +82,12 @@ * invalid */ public static FloatBuffer wrap(float[] array, int start, int len) { - if (start < 0 || len < 0 || start + len > array.length) { - throw new IndexOutOfBoundsException(); - } + if (array == null) { + throw new NullPointerException(); + } + if (start < 0 || len < 0 || start + len > array.length) { + throw new IndexOutOfBoundsException(); + } FloatBuffer buf = BufferFactory.newFloatBuffer(array); buf.position = start; Modified: incubator/harmony/enhanced/classlib/trunk/modules/nio/src/main/java/java/nio/IntBuffer.java URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/nio/src/main/java/java/nio/IntBuffer.java?rev=418829&r1=418828&r2=418829&view=diff ============================================================================== --- incubator/harmony/enhanced/classlib/trunk/modules/nio/src/main/java/java/nio/IntBuffer.java (original) +++ incubator/harmony/enhanced/classlib/trunk/modules/nio/src/main/java/java/nio/IntBuffer.java Mon Jul 3 12:06:14 2006 @@ -84,9 +84,12 @@ * invalid */ public static IntBuffer wrap(int[] array, int start, int len) { - if (start < 0 || len < 0 || len + start > array.length) { - throw new IndexOutOfBoundsException(); - } + if (array == null) { + throw new NullPointerException(); + } + if (start < 0 || len < 0 || len + start > array.length) { + throw new IndexOutOfBoundsException(); + } IntBuffer buf = BufferFactory.newIntBuffer(array); buf.position = start; Modified: incubator/harmony/enhanced/classlib/trunk/modules/nio/src/main/java/java/nio/LongBuffer.java URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/nio/src/main/java/java/nio/LongBuffer.java?rev=418829&r1=418828&r2=418829&view=diff ============================================================================== --- incubator/harmony/enhanced/classlib/trunk/modules/nio/src/main/java/java/nio/LongBuffer.java (original) +++ incubator/harmony/enhanced/classlib/trunk/modules/nio/src/main/java/java/nio/LongBuffer.java Mon Jul 3 12:06:14 2006 @@ -85,9 +85,12 @@ * invalid */ public static LongBuffer wrap(long[] array, int start, int len) { - if (start < 0 || len < 0 || len + start > array.length) { - throw new IndexOutOfBoundsException(); - } + if (array == null) { + throw new NullPointerException(); + } + if (start < 0 || len < 0 || len + start > array.length) { + throw new IndexOutOfBoundsException(); + } LongBuffer buf = BufferFactory.newLongBuffer(array); buf.position = start; Modified: incubator/harmony/enhanced/classlib/trunk/modules/nio/src/main/java/java/nio/ShortBuffer.java URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/nio/src/main/java/java/nio/ShortBuffer.java?rev=418829&r1=418828&r2=418829&view=diff ============================================================================== --- incubator/harmony/enhanced/classlib/trunk/modules/nio/src/main/java/java/nio/ShortBuffer.java (original) +++ incubator/harmony/enhanced/classlib/trunk/modules/nio/src/main/java/java/nio/ShortBuffer.java Mon Jul 3 12:06:14 2006 @@ -85,9 +85,12 @@ * invalid */ public static ShortBuffer wrap(short[] array, int start, int len) { - if (start< 0 || len < 0 || start + len > array.length) { - throw new IndexOutOfBoundsException(); - } + if (array == null) { + throw new NullPointerException(); + } + if (start< 0 || len < 0 || start + len > array.length) { + throw new IndexOutOfBoundsException(); + } ShortBuffer buf = BufferFactory.newShortBuffer(array); buf.position = start; Modified: incubator/harmony/enhanced/classlib/trunk/modules/nio/src/test/java/org/apache/harmony/tests/java/nio/ByteBufferTest.java URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/nio/src/test/java/org/apache/harmony/tests/java/nio/ByteBufferTest.java?rev=418829&r1=418828&r2=418829&view=diff ============================================================================== --- incubator/harmony/enhanced/classlib/trunk/modules/nio/src/test/java/org/apache/harmony/tests/java/nio/ByteBufferTest.java (original) +++ incubator/harmony/enhanced/classlib/trunk/modules/nio/src/test/java/org/apache/harmony/tests/java/nio/ByteBufferTest.java Mon Jul 3 12:06:14 2006 @@ -1872,6 +1872,19 @@ buf.order(ByteOrder.BIG_ENDIAN); } + + /** + * @tests java.nio.ByteBuffer.wrap(byte[],int,int) + */ + public void testWrappedByteBuffer_null_array() { + // Regression for HARMONY-264 + byte array[] = null; + try { + ByteBuffer.wrap(array, -1, 0); + fail("Should throw NPE"); //$NON-NLS-1$ + } catch (NullPointerException e) { + } + } private void loadTestData1(byte array[], int offset, int length) { for (int i = 0; i < length; i++) { Modified: incubator/harmony/enhanced/classlib/trunk/modules/nio/src/test/java/org/apache/harmony/tests/java/nio/CharBufferTest.java URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/nio/src/test/java/org/apache/harmony/tests/java/nio/CharBufferTest.java?rev=418829&r1=418828&r2=418829&view=diff ============================================================================== --- incubator/harmony/enhanced/classlib/trunk/modules/nio/src/test/java/org/apache/harmony/tests/java/nio/CharBufferTest.java (original) +++ incubator/harmony/enhanced/classlib/trunk/modules/nio/src/test/java/org/apache/harmony/tests/java/nio/CharBufferTest.java Mon Jul 3 12:06:14 2006 @@ -1008,4 +1008,24 @@ public void testIsReadOnly() { assertFalse(buf.isReadOnly()); } + + /** + * @tests java.nio.CharBuffer.wrap(CharSequence,int,int) + */ + public void testWrapNPE() { + // Regression for HARMONY-264 + try { + CharBuffer.wrap((CharSequence)null,1,0); + fail("CharBuffer.wrap((CharSequence)null,1,0) should throw NullPointerException"); + } catch (NullPointerException e) { + } + + + char[] array = null; + try { + CharBuffer.wrap(array,-1,0); + fail("CharBuffer.wrap((char[])null,-1,0) should throw NullPointerException"); + } catch (NullPointerException e) { + } + } } Modified: incubator/harmony/enhanced/classlib/trunk/modules/nio/src/test/java/org/apache/harmony/tests/java/nio/DoubleBufferTest.java URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/nio/src/test/java/org/apache/harmony/tests/java/nio/DoubleBufferTest.java?rev=418829&r1=418828&r2=418829&view=diff ============================================================================== --- incubator/harmony/enhanced/classlib/trunk/modules/nio/src/test/java/org/apache/harmony/tests/java/nio/DoubleBufferTest.java (original) +++ incubator/harmony/enhanced/classlib/trunk/modules/nio/src/test/java/org/apache/harmony/tests/java/nio/DoubleBufferTest.java Mon Jul 3 12:06:14 2006 @@ -812,6 +812,19 @@ testDoubleBufferInstanceThoroughly(buf); } + /** + * @tests java.nio.DoubleBuffer.wrap(double[],int,int) + */ + public void testWrappedDoubleBuffer_null_array() { + // Regression for HARMONY-264 + double array[] = null; + try { + DoubleBuffer.wrap(array, -1, 0); + fail("Should throw NPE"); //$NON-NLS-1$ + } catch (NullPointerException e) { + } + } + public void testByteBufferAsDoubleBuffer() { DoubleBuffer buf = ByteBuffer.allocate(160).asDoubleBuffer(); testDoubleBufferInstanceThoroughly(buf); Modified: incubator/harmony/enhanced/classlib/trunk/modules/nio/src/test/java/org/apache/harmony/tests/java/nio/FloatBufferTest.java URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/nio/src/test/java/org/apache/harmony/tests/java/nio/FloatBufferTest.java?rev=418829&r1=418828&r2=418829&view=diff ============================================================================== --- incubator/harmony/enhanced/classlib/trunk/modules/nio/src/test/java/org/apache/harmony/tests/java/nio/FloatBufferTest.java (original) +++ incubator/harmony/enhanced/classlib/trunk/modules/nio/src/test/java/org/apache/harmony/tests/java/nio/FloatBufferTest.java Mon Jul 3 12:06:14 2006 @@ -789,6 +789,19 @@ testFloatBufferInstanceThoroughly(buf); } + /** + * @tests java.nio.FloatBuffer.wrap(float[],int,int) + */ + public void testWrappedFloatBuffer_null_array() { + // Regression for HARMONY-264 + float array[] = null; + try { + FloatBuffer.wrap(array, -1, 0); + fail("Should throw NPE"); //$NON-NLS-1$ + } catch (NullPointerException e) { + } + } + public void testByteBufferAsFloatBuffer() { FloatBuffer buf = ByteBuffer.allocate(160).asFloatBuffer(); testFloatBufferInstanceThoroughly(buf); Modified: incubator/harmony/enhanced/classlib/trunk/modules/nio/src/test/java/org/apache/harmony/tests/java/nio/IntBufferTest.java URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/nio/src/test/java/org/apache/harmony/tests/java/nio/IntBufferTest.java?rev=418829&r1=418828&r2=418829&view=diff ============================================================================== --- incubator/harmony/enhanced/classlib/trunk/modules/nio/src/test/java/org/apache/harmony/tests/java/nio/IntBufferTest.java (original) +++ incubator/harmony/enhanced/classlib/trunk/modules/nio/src/test/java/org/apache/harmony/tests/java/nio/IntBufferTest.java Mon Jul 3 12:06:14 2006 @@ -789,6 +789,19 @@ testIntBufferInstanceThoroughly(buf); } + /** + * @tests java.nio.IntBuffer.wrap(int[],int,int) + */ + public void testWrappedIntBuffer_null_array() { + // Regression for HARMONY-264 + int array[] = null; + try { + IntBuffer.wrap(array, -1, 0); + fail("Should throw NPE"); //$NON-NLS-1$ + } catch (NullPointerException e) { + } + } + public void testByteBufferAsIntBuffer() { IntBuffer buf = ByteBuffer.allocate(160).asIntBuffer(); testIntBufferInstanceThoroughly(buf); Modified: incubator/harmony/enhanced/classlib/trunk/modules/nio/src/test/java/org/apache/harmony/tests/java/nio/LongBufferTest.java URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/nio/src/test/java/org/apache/harmony/tests/java/nio/LongBufferTest.java?rev=418829&r1=418828&r2=418829&view=diff ============================================================================== --- incubator/harmony/enhanced/classlib/trunk/modules/nio/src/test/java/org/apache/harmony/tests/java/nio/LongBufferTest.java (original) +++ incubator/harmony/enhanced/classlib/trunk/modules/nio/src/test/java/org/apache/harmony/tests/java/nio/LongBufferTest.java Mon Jul 3 12:06:14 2006 @@ -789,6 +789,19 @@ testLongBufferInstanceThoroughly(buf); } + /** + * @tests java.nio.LongBuffer.wrap(long[],int,int) + */ + public void testWrappedLongBuffer_null_array() { + // Regression for HARMONY-264 + long array[] = null; + try { + LongBuffer.wrap(array, -1, 0); + fail("Should throw NPE"); //$NON-NLS-1$ + } catch (NullPointerException e) { + } + } + public void testByteBufferAsLongBuffer() { LongBuffer buf = ByteBuffer.allocate(160).asLongBuffer(); testLongBufferInstanceThoroughly(buf); Modified: incubator/harmony/enhanced/classlib/trunk/modules/nio/src/test/java/org/apache/harmony/tests/java/nio/ShortBufferTest.java URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/nio/src/test/java/org/apache/harmony/tests/java/nio/ShortBufferTest.java?rev=418829&r1=418828&r2=418829&view=diff ============================================================================== --- incubator/harmony/enhanced/classlib/trunk/modules/nio/src/test/java/org/apache/harmony/tests/java/nio/ShortBufferTest.java (original) +++ incubator/harmony/enhanced/classlib/trunk/modules/nio/src/test/java/org/apache/harmony/tests/java/nio/ShortBufferTest.java Mon Jul 3 12:06:14 2006 @@ -789,6 +789,19 @@ testShortBufferInstanceThoroughly(buf); } + /** + * @tests java.nio.ShortBuffer.wrap(short[],int,int) + */ + public void testWrappedShortBuffer_null_array() { + // Regression for HARMONY-264 + short array[] = null; + try { + ShortBuffer.wrap(array, -1, 0); + fail("Should throw NPE"); //$NON-NLS-1$ + } catch (NullPointerException e) { + } + } + public void testByteBufferAsShortBuffer() { ShortBuffer buf = ByteBuffer.allocate(160).asShortBuffer(); testShortBufferInstanceThoroughly(buf);