Skip to content

Commit f1bd029

Browse files
committed
ANDROID: JNI error checking and free local references
1 parent 0b0ed71 commit f1bd029

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

loaders/android/bootstrap.c.in

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,12 @@ void android_launch_url(char* urlstring){
135135
jstring jurlstring = (*env)->NewStringUTF(env, urlstring);
136136
jclass cls = (*env)->FindClass(env, "@SYS_PACKAGE_SLASH@/@SYS_APPNAME@");
137137
jmethodID method = cls ? (*env)->GetMethodID(env, cls, "openURL", "(Ljava/lang/String;)V") : NULL;
138-
if(method) (*env)->CallVoidMethod(env, globalObj, method, jurlstring);
138+
if(method) {
139+
(*env)->CallVoidMethod(env, globalObj, method, jurlstring);
140+
(*env)->DeleteLocalRef(env, method);
141+
}
142+
if(jurlstring) (*env)->DeleteLocalRef(env, jurlstring);
143+
if(cls) (*env)->DeleteLocalRef(env, cls);
139144
JNI_forward_exception_to_gambit(env);
140145
}
141146
}

0 commit comments

Comments
 (0)