8132892: Memory must be freed after calling Arguments::set_sysclasspath function
Free memory after calling set_sysclasspath Reviewed-by: dholmes, dcubed
This commit is contained in:
parent
15b4d3eff9
commit
d364e5d191
@ -3305,7 +3305,9 @@ jint Arguments::finalize_vm_init_args(SysClassPath* scp_p, bool scp_assembly_req
|
||||
|
||||
if (scp_assembly_required) {
|
||||
// Assemble the bootclasspath elements into the final path.
|
||||
Arguments::set_sysclasspath(scp_p->combined_path());
|
||||
char *combined_path = scp_p->combined_path();
|
||||
Arguments::set_sysclasspath(combined_path);
|
||||
FREE_C_HEAP_ARRAY(char, combined_path);
|
||||
}
|
||||
|
||||
// This must be done after all arguments have been processed.
|
||||
|
@ -1271,6 +1271,7 @@ bool os::set_boot_path(char fileSep, char pathSep) {
|
||||
bool has_jimage = (os::stat(jimage, &st) == 0);
|
||||
if (has_jimage) {
|
||||
Arguments::set_sysclasspath(jimage);
|
||||
FREE_C_HEAP_ARRAY(char, jimage);
|
||||
return true;
|
||||
}
|
||||
FREE_C_HEAP_ARRAY(char, jimage);
|
||||
@ -1282,6 +1283,7 @@ bool os::set_boot_path(char fileSep, char pathSep) {
|
||||
sysclasspath = expand_entries_to_path(modules_dir, fileSep, pathSep);
|
||||
}
|
||||
}
|
||||
FREE_C_HEAP_ARRAY(char, modules_dir);
|
||||
|
||||
// fallback to classes
|
||||
if (sysclasspath == NULL)
|
||||
@ -1289,6 +1291,7 @@ bool os::set_boot_path(char fileSep, char pathSep) {
|
||||
|
||||
if (sysclasspath == NULL) return false;
|
||||
Arguments::set_sysclasspath(sysclasspath);
|
||||
FREE_C_HEAP_ARRAY(char, sysclasspath);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user