summaryrefslogtreecommitdiff
path: root/ext/enchant
diff options
context:
space:
mode:
authorChristoph M. Becker <cmbecker69@gmx.de>2017-10-15 13:58:20 +0200
committerChristoph M. Becker <cmbecker69@gmx.de>2017-10-15 14:02:31 +0200
commit5e2751e7ffa5ad877083abc7dda8da658c9691c7 (patch)
treecf3ef8ad8311f46bcc0e4abe3864e07d83d35cb6 /ext/enchant
parentfd993b10455e61e209c2d0a5a3dfaec4baf6d116 (diff)
parent5acb8381b22f4acf629d8fc89b4e0872f1a0825c (diff)
downloadphp-git-5e2751e7ffa5ad877083abc7dda8da658c9691c7.tar.gz
Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0: Fixed bug #53070 (enchant_broker_get_path crashes if no path is set)
Diffstat (limited to 'ext/enchant')
-rw-r--r--ext/enchant/enchant.c5
-rw-r--r--ext/enchant/tests/bug53070.phpt20
2 files changed, 25 insertions, 0 deletions
diff --git a/ext/enchant/enchant.c b/ext/enchant/enchant.c
index 10e3572eb1..25edf66a74 100644
--- a/ext/enchant/enchant.c
+++ b/ext/enchant/enchant.c
@@ -482,6 +482,11 @@ PHP_FUNCTION(enchant_broker_get_dict_path)
RETURN_FALSE;
}
+ if (value == NULL) {
+ php_error_docref(NULL, E_WARNING, "dict_path not set");
+ RETURN_FALSE;
+ }
+
RETURN_STRING(value);
}
/* }}} */
diff --git a/ext/enchant/tests/bug53070.phpt b/ext/enchant/tests/bug53070.phpt
new file mode 100644
index 0000000000..2183960716
--- /dev/null
+++ b/ext/enchant/tests/bug53070.phpt
@@ -0,0 +1,20 @@
+--TEST--
+Bug #53070 (enchant_broker_get_path crashes if no path is set)
+--SKIPIF--
+<?php
+if(!extension_loaded('enchant')) die('skip, enchant not loader');
+if (!is_resource(enchant_broker_init())) {die("skip, resource dont load\n");}
+?>
+--FILE--
+<?php
+$broker = enchant_broker_init();
+var_dump(enchant_broker_get_dict_path($broker, ENCHANT_MYSPELL));
+var_dump(enchant_broker_get_dict_path($broker, ENCHANT_ISPELL));
+?>
+--EXPECTF--
+
+Warning: enchant_broker_get_dict_path(): dict_path not set in %s on line %d
+bool(false)
+
+Warning: enchant_broker_get_dict_path(): dict_path not set in %s on line %d
+bool(false)