diff options
author | Sam Ruby <rubys@php.net> | 2000-07-22 16:13:20 +0000 |
---|---|---|
committer | Sam Ruby <rubys@php.net> | 2000-07-22 16:13:20 +0000 |
commit | 7893c729652de3435334124593a4a46acf5e811b (patch) | |
tree | cbf89074df3cb2571679e3a43fc43f9c6ea318b9 /ext/java | |
parent | 3e4a4f2376feee470f9fbba9cb7db1a3757b28c4 (diff) | |
download | php-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.c | 8 |
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); |