From: Sam Ruby Date: Sat, 22 Jul 2000 16:13:20 +0000 (+0000) Subject: Verify that a classname is actually passed on a new Java() call. X-Git-Tag: PRE_FILE_COMPILE_API_CHANGE~193 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7893c729652de3435334124593a4a46acf5e811b;p=php Verify that a classname is actually passed on a new Java() call. --- 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); diff --git a/ext/rpc/java/java.c b/ext/rpc/java/java.c index eac4745302..e74d060bbe 100644 --- a/ext/rpc/java/java.c +++ b/ext/rpc/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);