Skip to content

Commit

Permalink
8253572: [windows] CDS archive may fail to open with long file names
Browse files Browse the repository at this point in the history
8249943: [TESTBUG] runtime/cds/serviceability/transformRelatedClasses/TransformInterfaceAndImplementor.java


Reviewed-by: ccheung, iklam
  • Loading branch information
tstuefe committed Sep 26, 2020
1 parent 4167540 commit b66fa8f
Showing 1 changed file with 12 additions and 2 deletions.
14 changes: 12 additions & 2 deletions src/hotspot/os/windows/os_windows.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4827,15 +4827,25 @@ static int stdinAvailable(int fd, long *pbytes) {
char* os::pd_map_memory(int fd, const char* file_name, size_t file_offset,
char *addr, size_t bytes, bool read_only,
bool allow_exec) {

errno_t err;
wchar_t* wide_path = wide_abs_unc_path(file_name, err);

if (wide_path == NULL) {
return NULL;
}

HANDLE hFile;
char* base;

hFile = CreateFile(file_name, GENERIC_READ, FILE_SHARE_READ, NULL,
hFile = CreateFileW(wide_path, GENERIC_READ, FILE_SHARE_READ, NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if (hFile == INVALID_HANDLE_VALUE) {
log_info(os)("CreateFile() failed: GetLastError->%ld.", GetLastError());
log_info(os)("CreateFileW() failed: GetLastError->%ld.", GetLastError());
os::free(wide_path);
return NULL;
}
os::free(wide_path);

if (allow_exec) {
// CreateFileMapping/MapViewOfFileEx can't map executable memory
Expand Down

1 comment on commit b66fa8f

@bridgekeeper
Copy link

@bridgekeeper bridgekeeper bot commented on b66fa8f Sep 26, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.