summaryrefslogtreecommitdiff
path: root/ext/java/java.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/java/java.c')
-rw-r--r--ext/java/java.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/ext/java/java.c b/ext/java/java.c
index eac4745302..e74d060bbe 100644
--- a/ext/java/java.c
+++ b/ext/java/java.c
@@ -434,9 +434,15 @@ void java_call_function_handler
jmethodID co = (*jenv)->GetMethodID(jenv, JG(reflect_class), "CreateObject",
"(Ljava/lang/String;[Ljava/lang/Object;J)V");
- jstring className=(*jenv)->NewStringUTF(jenv, arguments[0]->value.str.val);
+ jstring className;
(pval*)(long)result = object;
+ if (ZEND_NUM_ARGS() < 1) {
+ php_error(E_ERROR, "Missing classname in new Java() call");
+ return;
+ }
+
+ className=(*jenv)->NewStringUTF(jenv, arguments[0]->value.str.val);
(*jenv)->CallVoidMethod(jenv, JG(php_reflect), co,
className, _java_makeArray(arg_count-1, arguments+1 JG_CC), result);