8001185: parsing of sun.boot.library.path in os::dll_build_name somewhat broken

Dll_dir can contain multiple paths, need to parse them correctly when loading agents

Reviewed-by: dholmes, dlong
This commit is contained in:
Bill Pittore 2012-11-07 17:53:02 -05:00 committed by Bill Pittore
parent 40d5fa156c
commit dd5c8eb660
9 changed files with 67 additions and 35 deletions

View file

@ -605,8 +605,10 @@ void ClassLoader::load_zip_library() {
// Load zip library
char path[JVM_MAXPATHLEN];
char ebuf[1024];
os::dll_build_name(path, sizeof(path), Arguments::get_dll_dir(), "zip");
void* handle = os::dll_load(path, ebuf, sizeof ebuf);
void* handle = NULL;
if (os::dll_build_name(path, sizeof(path), Arguments::get_dll_dir(), "zip")) {
handle = os::dll_load(path, ebuf, sizeof ebuf);
}
if (handle == NULL) {
vm_exit_during_initialization("Unable to load ZIP library", path);
}