6631248: Memory problem when doing invalid type cast

Changed memory allocation method for exception method

Reviewed-by: ysr, never
This commit is contained in:
Keith McGuigan 2008-01-31 09:41:34 -05:00
parent dcbf4ea9ee
commit f54eceace3

View File

@ -1481,11 +1481,9 @@ char* SharedRuntime::generate_class_cast_message(
const char* desc = " cannot be cast to ";
size_t msglen = strlen(objName) + strlen(desc) + strlen(targetKlassName) + 1;
char* message = NEW_C_HEAP_ARRAY(char, msglen);
char* message = NEW_RESOURCE_ARRAY(char, msglen);
if (NULL == message) {
// out of memory - can't use a detailed message. Since caller is
// using a resource mark to free memory, returning this should be
// safe (caller won't explicitly delete it).
// Shouldn't happen, but don't cause even more problems if it does
message = const_cast<char*>(objName);
} else {
jio_snprintf(message, msglen, "%s%s%s", objName, desc, targetKlassName);