提交 7810646a 编写于 作者: Z zgu

8003689: MemTracker::init_tracking_options() reads outside array if commandline argument is empty

Summary: Fixed potential buffer overrun when giving empty option to NativeMemoryTracking commandline option
Reviewed-by: ctornqvi, hseigel, kvn
上级 2ac95dce
......@@ -69,15 +69,12 @@ NOT_PRODUCT(volatile jint MemTracker::_pending_recorder_count = 0;)
void MemTracker::init_tracking_options(const char* option_line) {
_tracking_level = NMT_off;
if (strncmp(option_line, "=summary", 8) == 0) {
if (strcmp(option_line, "=summary") == 0) {
_tracking_level = NMT_summary;
} else if (strncmp(option_line, "=detail", 7) == 0) {
} else if (strcmp(option_line, "=detail") == 0) {
_tracking_level = NMT_detail;
} else {
char msg[255];
//+1 to remove the '=' character
jio_snprintf(msg, 255, "Unknown option given to XX:NativeMemoryTracking: %s", option_line+1);
vm_exit_during_initialization(msg, NULL);
} else if (strcmp(option_line, "=off") != 0) {
vm_exit_during_initialization("Syntax error, expecting -XX:NativeMemoryTracking=[off|summary|detail]", NULL);
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册