diff options
| author | jvoisin | 2018-03-06 13:44:40 +0100 |
|---|---|---|
| committer | jvoisin | 2018-03-06 13:44:40 +0100 |
| commit | 580f6937ca3d8e3fd6d4d83229a17dcad57395a4 (patch) | |
| tree | a0d9be2e7b169f4db201b6e0049eeaa2846bcfc0 /src/tests | |
| parent | 604761cdc0c2228c48ef394158ee24c3f61bfd3f (diff) | |
Fix a variadic-functions-related crash
Currently, we're not supporting virtual-patching on
variadic functions. The commit makes it clear,
and fix the related crash.
This should close #157
Diffstat (limited to 'src/tests')
| -rw-r--r-- | src/tests/config/config_disabled_functions_variadic.ini | 1 | ||||
| -rw-r--r-- | src/tests/disabled_functions_variadic.phpt | 17 |
2 files changed, 18 insertions, 0 deletions
diff --git a/src/tests/config/config_disabled_functions_variadic.ini b/src/tests/config/config_disabled_functions_variadic.ini new file mode 100644 index 0000000..cd1028d --- /dev/null +++ b/src/tests/config/config_disabled_functions_variadic.ini | |||
| @@ -0,0 +1 @@ | |||
| sp.disable_function.function("foo").param("$b").value("1337").drop(); | |||
diff --git a/src/tests/disabled_functions_variadic.phpt b/src/tests/disabled_functions_variadic.phpt new file mode 100644 index 0000000..53b4630 --- /dev/null +++ b/src/tests/disabled_functions_variadic.phpt | |||
| @@ -0,0 +1,17 @@ | |||
| 1 | --TEST-- | ||
| 2 | Disable functions - support for variadic functions | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) die "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/config_disabled_functions_variadic.ini | ||
| 7 | --FILE-- | ||
| 8 | <?php | ||
| 9 | function foo(...$b) { | ||
| 10 | return count($b); | ||
| 11 | } | ||
| 12 | |||
| 13 | echo foo(5, 4, 3, 2, 1); | ||
| 14 | ?> | ||
| 15 | --EXPECTF-- | ||
| 16 | [snuffleupagus][0.0.0.0][disable_function][error] Snuffleupagus doesn't support variadic functions yet, sorry. Check https://github.com/nbs-system/snuffleupagus/issues/164 for details. | ||
| 17 | [snuffleupagus][0.0.0.0][disabled_function][drop] The call to the function 'foo' in %a/disabled_functions_variadic.php:2 has been disabled. | ||
