libbluray | branch: master | hpi1 <[email protected]> | Sun Aug 7 13:35:53 2016 +0300| [eecd4aba5330d6bf53c7bf4a5ffd9585d1e75370] | committer: hpi1
bdj: Fix leak (Java references) > http://git.videolan.org/gitweb.cgi/libbluray.git/?a=commit;h=eecd4aba5330d6bf53c7bf4a5ffd9585d1e75370 --- src/libbluray/bdj/bdj.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/libbluray/bdj/bdj.c b/src/libbluray/bdj/bdj.c index 67d9170..6edd907 100644 --- a/src/libbluray/bdj/bdj.c +++ b/src/libbluray/bdj/bdj.c @@ -446,6 +446,12 @@ static int _bdj_init(JNIEnv *env, struct bluray *bd, const char *disc_root, cons param_bdjava_ptr, param_disc_id, param_disc_root, param_persistent_root, param_buda_root); + (*env)->DeleteLocalRef(env, init_class); + (*env)->DeleteLocalRef(env, param_disc_id); + (*env)->DeleteLocalRef(env, param_disc_root); + (*env)->DeleteLocalRef(env, param_persistent_root); + (*env)->DeleteLocalRef(env, param_buda_root); + if ((*env)->ExceptionOccurred(env)) { (*env)->ExceptionDescribe(env); BD_DEBUG(DBG_BDJ | DBG_CRIT, "Failed to initialize BD-J (uncaught exception)\n"); @@ -453,10 +459,6 @@ static int _bdj_init(JNIEnv *env, struct bluray *bd, const char *disc_root, cons return 0; } - (*env)->DeleteLocalRef(env, init_class); - (*env)->DeleteLocalRef(env, param_disc_id); - (*env)->DeleteLocalRef(env, param_disc_root); - return 1; } _______________________________________________ libbluray-devel mailing list [email protected] https://mailman.videolan.org/listinfo/libbluray-devel
