提交 fe3c5db7 编写于 作者: K kamg

6631248: Memory problem when doing invalid type cast

Summary: Changed memory allocation method for exception method
Reviewed-by: ysr, never
上级 e2cae64c
......@@ -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);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册