libbluray | branch: master | hpi1 <[email protected]> | Fri May 6 11:46:56 2011 +0300| [9000342a2f94d0116bfdc344ed2eeb06372f5dd2] | committer: hpi1
Fixed segfault when Java class not found (invalid classpath, ...) > http://git.videolan.org/gitweb.cgi/libbluray.git/?a=commit;h=9000342a2f94d0116bfdc344ed2eeb06372f5dd2 --- src/libbluray/bdj/bdj_util.c | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/src/libbluray/bdj/bdj_util.c b/src/libbluray/bdj/bdj_util.c index a4e4b24..5bf4560 100644 --- a/src/libbluray/bdj/bdj_util.c +++ b/src/libbluray/bdj/bdj_util.c @@ -1,3 +1,6 @@ + +#include "util/logging.h" + #include "bdj_util.h" jobject bdj_make_object(JNIEnv* env, const char* name, const char* sig, ...) @@ -5,6 +8,11 @@ jobject bdj_make_object(JNIEnv* env, const char* name, const char* sig, ...) jclass obj_class = (*env)->FindClass(env, name); jmethodID obj_constructor = (*env)->GetMethodID(env, obj_class, "<init>", sig); + if (!obj_class) { + BD_DEBUG(DBG_BDJ | DBG_CRIT, "Class %s not found\n", name); + return NULL; + } + va_list ap; va_start(ap, sig); jobject obj = (*env)->NewObjectV(env, obj_class, obj_constructor, ap); _______________________________________________ libbluray-devel mailing list [email protected] http://mailman.videolan.org/listinfo/libbluray-devel
