]> granicus.if.org Git - php/commitdiff
Verify that a classname is actually passed on a new Java() call.
authorSam Ruby <rubys@php.net>
Sat, 22 Jul 2000 16:13:20 +0000 (16:13 +0000)
committerSam Ruby <rubys@php.net>
Sat, 22 Jul 2000 16:13:20 +0000 (16:13 +0000)
ext/java/java.c
ext/rpc/java/java.c

index eac474530222a81f7816319cef071f954868a569..e74d060bbeff4590aa61855c4225ddaa0b1c151a 100644 (file)
@@ -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);
 
index eac474530222a81f7816319cef071f954868a569..e74d060bbeff4590aa61855c4225ddaa0b1c151a 100644 (file)
@@ -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);