--- a/hotspot/src/share/vm/runtime/os.cpp Mon Nov 05 19:33:44 2012 -0500
+++ b/hotspot/src/share/vm/runtime/os.cpp Wed Nov 07 17:53:02 2012 -0500
@@ -397,12 +397,16 @@
// Try to load verify dll first. In 1.3 java dll depends on it and is not
// always able to find it when the loading executable is outside the JDK.
// In order to keep working with 1.2 we ignore any loading errors.
- dll_build_name(buffer, sizeof(buffer), Arguments::get_dll_dir(), "verify");
- dll_load(buffer, ebuf, sizeof(ebuf));
+ if (dll_build_name(buffer, sizeof(buffer), Arguments::get_dll_dir(),
+ "verify")) {
+ dll_load(buffer, ebuf, sizeof(ebuf));
+ }
// Load java dll
- dll_build_name(buffer, sizeof(buffer), Arguments::get_dll_dir(), "java");
- _native_java_library = dll_load(buffer, ebuf, sizeof(ebuf));
+ if (dll_build_name(buffer, sizeof(buffer), Arguments::get_dll_dir(),
+ "java")) {
+ _native_java_library = dll_load(buffer, ebuf, sizeof(ebuf));
+ }
if (_native_java_library == NULL) {
vm_exit_during_initialization("Unable to load native library", ebuf);
}
@@ -410,8 +414,10 @@
#if defined(__OpenBSD__)
// Work-around OpenBSD's lack of $ORIGIN support by pre-loading libnet.so
// ignore errors
- dll_build_name(buffer, sizeof(buffer), Arguments::get_dll_dir(), "net");
- dll_load(buffer, ebuf, sizeof(ebuf));
+ if (dll_build_name(buffer, sizeof(buffer), Arguments::get_dll_dir(),
+ "net")) {
+ dll_load(buffer, ebuf, sizeof(ebuf));
+ }
#endif
}
static jboolean onLoaded = JNI_FALSE;
@@ -1156,7 +1162,7 @@
if (inpath == NULL) {
return NULL;
}
- strncpy(inpath, path, strlen(path));
+ strcpy(inpath, path);
int count = 1;
char* p = strchr(inpath, psepchar);
// Get a count of elements to allocate memory