]> granicus.if.org Git - php/commitdiff
Throw ValueError on empty tag in enchant_broker_request_dict()
authorGeorge Peter Banyard <girgias@php.net>
Fri, 31 Jul 2020 13:34:39 +0000 (14:34 +0100)
committerGeorge Peter Banyard <girgias@php.net>
Fri, 31 Jul 2020 13:35:14 +0000 (14:35 +0100)
ext/enchant/enchant.c
ext/enchant/tests/broker_request_dict_error_on_empty_tag.phpt [new file with mode: 0644]

index 089f1a9a5cdf24e75d78edcfc6f8190f685dd216..3ebb76e910f3aa21d639c3ebb03951edf696676d 100644 (file)
@@ -455,8 +455,8 @@ PHP_FUNCTION(enchant_broker_request_dict)
        PHP_ENCHANT_GET_BROKER;
 
        if (taglen == 0) {
-               php_error_docref(NULL, E_WARNING, "Tag cannot be empty");
-               RETURN_FALSE;
+               zend_argument_value_error(2, "cannot be empty");
+               RETURN_THROWS();
        }
 
        pdict = enchant_broker_request_dict(pbroker->pbroker, (const char *)tag);
diff --git a/ext/enchant/tests/broker_request_dict_error_on_empty_tag.phpt b/ext/enchant/tests/broker_request_dict_error_on_empty_tag.phpt
new file mode 100644 (file)
index 0000000..63005a9
--- /dev/null
@@ -0,0 +1,20 @@
+--TEST--
+enchant_broker_request_dict() must throw ValueError on empty tag
+--SKIPIF--
+<?php
+if(!extension_loaded('enchant')) die('skip, enchant not loader');
+if (!is_object(enchant_broker_init())) {die("skip, resource dont load\n");}
+?>
+--FILE--
+<?php
+$broker = enchant_broker_init();
+
+try {
+    var_dump(enchant_broker_request_dict($broker, ''));
+} catch (\ValueError $e) {
+    echo $e->getMessage() . \PHP_EOL;
+}
+
+?>
+--EXPECT--
+enchant_broker_request_dict(): Argument #2 ($tag) cannot be empty