summaryrefslogtreecommitdiff
path: root/ext/java
diff options
context:
space:
mode:
authorSam Ruby <rubys@php.net>2000-07-22 16:13:20 +0000
committerSam Ruby <rubys@php.net>2000-07-22 16:13:20 +0000
commit7893c729652de3435334124593a4a46acf5e811b (patch)
treecbf89074df3cb2571679e3a43fc43f9c6ea318b9 /ext/java
parent3e4a4f2376feee470f9fbba9cb7db1a3757b28c4 (diff)
downloadphp-git-7893c729652de3435334124593a4a46acf5e811b.tar.gz
Verify that a classname is actually passed on a new Java() call.
Diffstat (limited to 'ext/java')
-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);