1.1 --- a/src/share/vm/runtime/arguments.cpp Mon Sep 23 20:26:18 2019 +0200 1.2 +++ b/src/share/vm/runtime/arguments.cpp Fri Apr 03 14:14:26 2020 +0100 1.3 @@ -3476,8 +3476,7 @@ 1.4 src ++; 1.5 } 1.6 1.7 - char* copy = AllocateHeap(strlen(src) + 1, mtInternal); 1.8 - strncpy(copy, src, strlen(src) + 1); 1.9 + char* copy = os::strdup(src, mtInternal); 1.10 1.11 // trim all trailing empty paths 1.12 for (char* tail = copy + strlen(copy) - 1; tail >= copy && *tail == separator; tail--) { 1.13 @@ -3856,18 +3855,14 @@ 1.14 if (end != NULL) *end = '\0'; 1.15 size_t jvm_path_len = strlen(jvm_path); 1.16 size_t file_sep_len = strlen(os::file_separator()); 1.17 - shared_archive_path = NEW_C_HEAP_ARRAY(char, jvm_path_len + 1.18 - file_sep_len + 20, mtInternal); 1.19 + const size_t len = jvm_path_len + file_sep_len + 20; 1.20 + shared_archive_path = NEW_C_HEAP_ARRAY(char, len, mtInternal); 1.21 if (shared_archive_path != NULL) { 1.22 - strncpy(shared_archive_path, jvm_path, jvm_path_len + 1); 1.23 - strncat(shared_archive_path, os::file_separator(), file_sep_len); 1.24 - strncat(shared_archive_path, "classes.jsa", 11); 1.25 + jio_snprintf(shared_archive_path, len, "%s%sclasses.jsa", 1.26 + jvm_path, os::file_separator()); 1.27 } 1.28 } else { 1.29 - shared_archive_path = NEW_C_HEAP_ARRAY(char, strlen(SharedArchiveFile) + 1, mtInternal); 1.30 - if (shared_archive_path != NULL) { 1.31 - strncpy(shared_archive_path, SharedArchiveFile, strlen(SharedArchiveFile) + 1); 1.32 - } 1.33 + shared_archive_path = os::strdup(SharedArchiveFile, mtInternal); 1.34 } 1.35 return shared_archive_path; 1.36 }