Bug 341728 Local reference leak in nsCLiveconnect::Call when Java call javascript

patch by mike.lei@sun.com r=brendan
This commit is contained in:
timeless%mozdev.org 2006-08-02 05:16:40 +00:00
parent ba335cf495
commit b93bf7dabb

View File

@ -525,8 +525,10 @@ nsCLiveconnect::Call(JNIEnv *jEnv, lcjsobject obj, const jchar *name, jsize leng
/* Convert arguments from Java to JS values */ /* Convert arguments from Java to JS values */
for (arg_num = 0; arg_num < argc; arg_num++) { for (arg_num = 0; arg_num < argc; arg_num++) {
jobject arg = jEnv->GetObjectArrayElement(java_args, arg_num); jobject arg = jEnv->GetObjectArrayElement(java_args, arg_num);
JSBool ret = jsj_ConvertJavaObjectToJSValue(cx, jEnv, arg, &argv[arg_num]);
if (!jsj_ConvertJavaObjectToJSValue(cx, jEnv, arg, &argv[arg_num])) jEnv->DeleteLocalRef(arg);
if (!ret)
goto cleanup_argv; goto cleanup_argv;
JS_AddRoot(cx, &argv[arg_num]); JS_AddRoot(cx, &argv[arg_num]);
} }