changeset 22642:6b444ec119b8

Sanity check arguments to allocateCompileId
author Tom Rodriguez <tom.rodriguez@oracle.com>
date Wed, 30 Sep 2015 15:58:33 -0700
parents 461dc858dc61
children 456800cd1a17
files src/share/vm/jvmci/jvmciCompilerToVM.cpp
diffstat 1 files changed, 6 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/jvmci/jvmciCompilerToVM.cpp	Wed Sep 30 15:35:53 2015 +0200
+++ b/src/share/vm/jvmci/jvmciCompilerToVM.cpp	Wed Sep 30 15:58:33 2015 -0700
@@ -835,7 +835,13 @@
 C2V_VMENTRY(int, allocateCompileId, (JNIEnv*, jobject, jobject jvmci_method, int entry_bci))
   HandleMark hm;
   ResourceMark rm;
+  if (JNIHandles::resolve(jvmci_method) == NULL) {
+    THROW_0(vmSymbols::java_lang_NullPointerException());
+  }
   Method* method = CompilerToVM::asMethod(jvmci_method);
+  if (entry_bci >= method->code_size() || entry_bci < -1) {
+    THROW_MSG_0(vmSymbols::java_lang_IllegalArgumentException(), err_msg("Unexpected bci %d", entry_bci));
+  }
   return CompileBroker::assign_compile_id_unlocked(THREAD, method, entry_bci);
 C2V_END