# HG changeset patch # User jmasa # Date 1235544660 28800 # Node ID 59150d6667e1ee78483159b72317acac006db26a # Parent 83ef1482304c2dbd72ab5a9265f147d4b1cf7a80# Parent 3698e8f477991a0f68a63e19f22ab70bc5521f6a Merge diff -r 3698e8f47799 -r 59150d6667e1 src/share/vm/utilities/growableArray.cpp --- a/src/share/vm/utilities/growableArray.cpp Tue Feb 24 15:50:23 2009 -0500 +++ b/src/share/vm/utilities/growableArray.cpp Tue Feb 24 22:51:00 2009 -0800 @@ -43,11 +43,13 @@ #endif void* GenericGrowableArray::raw_allocate(int elementSize) { + assert(_max >= 0, "integer overflow"); + size_t byte_size = elementSize * (size_t) _max; if (on_stack()) { - return (void*)resource_allocate_bytes(elementSize * _max); + return (void*)resource_allocate_bytes(byte_size); } else if (on_C_heap()) { - return (void*)AllocateHeap(elementSize * _max, "GrET in " __FILE__); + return (void*)AllocateHeap(byte_size, "GrET in " __FILE__); } else { - return _arena->Amalloc(elementSize * _max); + return _arena->Amalloc(byte_size); } }