diff options
Diffstat (limited to 'libjava/testsuite/libjava.lang/newarray_overflow.java')
-rw-r--r-- | libjava/testsuite/libjava.lang/newarray_overflow.java | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/libjava/testsuite/libjava.lang/newarray_overflow.java b/libjava/testsuite/libjava.lang/newarray_overflow.java deleted file mode 100644 index 17370b5..0000000 --- a/libjava/testsuite/libjava.lang/newarray_overflow.java +++ /dev/null @@ -1,88 +0,0 @@ -/* This test checks for two slightly different overflow scenarios in - * array allocation. - * - * The first is that the number of bytes needed for an array size - * overflows on a 32 bit machine. - * - * The second is that on a 64 machine, the number of bytes silently - * gets truncated, resulting in too small an object being - * allocated. */ - -class newarray_overflow -{ - static boolean failed = false; - - static void int_check() - { - int[] x; - try - { - x = new int [1 << 30]; - } - catch (OutOfMemoryError e) - { - return; - } - /* If we really get away with it (64 bit machine), that's cool. */ - if (x == null) { - System.err.println ("int check: new returned null."); - failed = true; - return; - } - try - { - // Only check a few places so we don't thrash too badly. - for (int i = 0; i < x.length; i += (1 << 24)) - if (x[i] != 0) - failed = true; - } - catch (Throwable e) - { - System.err.print ("int check: "); - System.err.println (e); - failed = true; - } - } - - static void object_check() - { - Object[] x; - try - { - x = new Object [1 << 30]; - System.err.println ("Alloc succeeded."); - System.err.println (x); - } - catch (OutOfMemoryError e) - { - return; - } - /* If we really get away with it (64 bit machine), that's cool. */ - if (x == null) { - System.err.println ("Object check: new returned null."); - failed = true; - return; - } - try - { - for (int i = 0; i < x.length; i += (1 << 24)) - if (x[i] != null) - failed = true; - } - catch (Throwable e) - { - System.err.print ("Object check: "); - System.err.println (e); - failed = true; - } - } - - public static void main (String[] ignore) - { - int_check(); - object_check(); - - if (!failed) - System.out.println ("ok"); - } -} |