6631248: Memory problem when doing invalid type cast
Changed memory allocation method for exception method Reviewed-by: ysr, never
This commit is contained in:
parent
dcbf4ea9ee
commit
f54eceace3
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user