libbluray | branch: master | hpi1 <[email protected]> | Fri Nov 16 09:17:03 2012 +0200| [ee81c191eccf94ed62c784f64a5c1329bce73c17] | committer: hpi1
bdj: fix bdj_close() segfaults when jvm init fails > http://git.videolan.org/gitweb.cgi/libbluray.git/?a=commit;h=ee81c191eccf94ed62c784f64a5c1329bce73c17 --- src/libbluray/bdj/bdj.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/libbluray/bdj/bdj.c b/src/libbluray/bdj/bdj.c index ac44aaf..1401d22 100644 --- a/src/libbluray/bdj/bdj.c +++ b/src/libbluray/bdj/bdj.c @@ -230,6 +230,7 @@ void bdj_close(BDJAVA *bdjava) return; } + if (bdjava->jvm) { if ((*bdjava->jvm)->GetEnv(bdjava->jvm, (void**)&env, JNI_VERSION_1_6) != JNI_OK) { (*bdjava->jvm)->AttachCurrentThread(bdjava->jvm, (void**)&env, NULL); attach = 1; @@ -246,8 +247,11 @@ void bdj_close(BDJAVA *bdjava) } (*bdjava->jvm)->DestroyJavaVM(bdjava->jvm); + } + if (bdjava->h_libjvm) { dl_dlclose(bdjava->h_libjvm); + } X_FREE(bdjava); } _______________________________________________ libbluray-devel mailing list [email protected] http://mailman.videolan.org/listinfo/libbluray-devel
