mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-21 11:34:38 +02:00
8238225: Issues reported after replacing symlink at Contents/MacOS/libjli.dylib with binary
Reviewed-by: clanger, alanb, ihse
This commit is contained in:
parent
a7a82b0c79
commit
f1332640d4
2 changed files with 41 additions and 5 deletions
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2012, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -515,11 +515,27 @@ GetJREPath(char *path, jint pathsize, jboolean speculative)
|
|||
}
|
||||
|
||||
size_t indexOfLastPathComponent = pathLen - sizeOfLastPathComponent;
|
||||
if (0 == strncmp(realPathToSelf + indexOfLastPathComponent, lastPathComponent, sizeOfLastPathComponent - 1)) {
|
||||
if (0 == strncmp(realPathToSelf + indexOfLastPathComponent, lastPathComponent, sizeOfLastPathComponent)) {
|
||||
realPathToSelf[indexOfLastPathComponent + 1] = '\0';
|
||||
return JNI_TRUE;
|
||||
}
|
||||
|
||||
// If libjli.dylib is loaded from a macos bundle MacOS dir, find the JRE dir
|
||||
// in ../Home.
|
||||
const char altLastPathComponent[] = "/MacOS/libjli.dylib";
|
||||
size_t sizeOfAltLastPathComponent = sizeof(altLastPathComponent) - 1;
|
||||
if (pathLen < sizeOfLastPathComponent) {
|
||||
return JNI_FALSE;
|
||||
}
|
||||
|
||||
size_t indexOfAltLastPathComponent = pathLen - sizeOfAltLastPathComponent;
|
||||
if (0 == strncmp(realPathToSelf + indexOfAltLastPathComponent, altLastPathComponent, sizeOfAltLastPathComponent)) {
|
||||
JLI_Snprintf(realPathToSelf + indexOfAltLastPathComponent, sizeOfAltLastPathComponent, "%s", "/Home");
|
||||
if (access(realPathToSelf, F_OK) == 0) {
|
||||
return JNI_TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
if (!speculative)
|
||||
JLI_ReportErrorMessage(JRE_ERROR8 JAVA_DLL);
|
||||
return JNI_FALSE;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue