8029070: memory leak in jmm_SetVMGlobal

Reviewed-by: kvn, dholmes
This commit is contained in:
Igor Ignatyev 2013-12-23 20:56:18 +04:00
parent ed5c744803
commit cfefbcebf5
4 changed files with 7 additions and 4 deletions

View file

@ -1821,7 +1821,7 @@ JVM_ENTRY(void, jmm_SetVMGlobal(JNIEnv *env, jstring flag_name, jvalue new_value
"This flag is not writeable.");
}
bool succeed;
bool succeed = false;
if (flag->is_bool()) {
bool bvalue = (new_value.z == JNI_TRUE ? true : false);
succeed = CommandLineFlags::boolAtPut(name, &bvalue, Flag::MANAGEMENT);
@ -1841,6 +1841,9 @@ JVM_ENTRY(void, jmm_SetVMGlobal(JNIEnv *env, jstring flag_name, jvalue new_value
}
ccstr svalue = java_lang_String::as_utf8_string(str);
succeed = CommandLineFlags::ccstrAtPut(name, &svalue, Flag::MANAGEMENT);
if (succeed) {
FREE_C_HEAP_ARRAY(char, svalue, mtInternal);
}
}
assert(succeed, "Setting flag should succeed");
JVM_END