From 2906b38f27d3fdcc588251d238c01020e93eefb8 Mon Sep 17 00:00:00 2001
From: Nadav Har'El <nyh@cloudius-systems.com>
Date: Thu, 9 May 2013 09:39:36 +0300
Subject: [PATCH] If can't find a given class file, abort with error rather
 than eventually causing a suspicious segfault.

---
 java/java.cc | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/java/java.cc b/java/java.cc
index 35a06ea38..92d94d7f9 100644
--- a/java/java.cc
+++ b/java/java.cc
@@ -51,6 +51,10 @@ extern "C" int main(int ac, char **av)
     auto ret = JNI_CreateJavaVM(&jvm, &env, &vm_args);
     assert(ret == 0);
     auto mainclass = env->FindClass(mainclassname.c_str());
+    if (!mainclass) {
+        debug("java.so: Can't find class %s.\n", mainclassname);
+        abort();
+    }
 
     auto mainmethod = env->GetStaticMethodID(mainclass, "main", "([Ljava/lang/String;)V");
     auto stringclass = env->FindClass("java/lang/String");
-- 
GitLab