diff --git a/hotspot/src/share/vm/memory/metaspaceShared.cpp b/hotspot/src/share/vm/memory/metaspaceShared.cpp index f71baaed660..d7025cc4d4b 100644 --- a/hotspot/src/share/vm/memory/metaspaceShared.cpp +++ b/hotspot/src/share/vm/memory/metaspaceShared.cpp @@ -715,15 +715,17 @@ void MetaspaceShared::preload_and_dump(TRAPS) { if (class_list_path_len >= 3) { if (strcmp(class_list_path_str + class_list_path_len - 3, "lib") != 0) { if (class_list_path_len < JVM_MAXPATHLEN - 4) { - strncat(class_list_path_str, os::file_separator(), 1); - strncat(class_list_path_str, "lib", 3); + jio_snprintf(class_list_path_str + class_list_path_len, + sizeof(class_list_path_str) - class_list_path_len, + "%slib", os::file_separator()); + class_list_path_len += 4; } } } - class_list_path_len = (int)strlen(class_list_path_str); if (class_list_path_len < JVM_MAXPATHLEN - 10) { - strncat(class_list_path_str, os::file_separator(), 1); - strncat(class_list_path_str, "classlist", 9); + jio_snprintf(class_list_path_str + class_list_path_len, + sizeof(class_list_path_str) - class_list_path_len, + "%sclasslist", os::file_separator()); } class_list_path = class_list_path_str; } else {