# HG changeset patch # User kamg # Date 1282935928 14400 # Node ID 04323991c39563346b7118b0f0f21d507031332f # Parent 0652d205acda9713ee254b8ba84ce71ea287e093 6980262: Memory leak when exception is thrown in static initializer Summary: Use resource memory instead of c-heap for the exception message Reviewed-by: phh, jmasa diff -r 0652d205acda -r 04323991c395 src/share/vm/oops/instanceKlass.cpp --- a/src/share/vm/oops/instanceKlass.cpp Mon Aug 30 17:27:35 2010 -0700 +++ b/src/share/vm/oops/instanceKlass.cpp Fri Aug 27 15:05:28 2010 -0400 @@ -382,7 +382,7 @@ const char* desc = "Could not initialize class "; const char* className = this_oop->external_name(); size_t msglen = strlen(desc) + strlen(className) + 1; - char* message = NEW_C_HEAP_ARRAY(char, msglen); + char* message = NEW_RESOURCE_ARRAY(char, msglen); if (NULL == message) { // Out of memory: can't create detailed error message THROW_MSG(vmSymbols::java_lang_NoClassDefFoundError(), className);