summaryrefslogtreecommitdiff
path: root/src/tests
diff options
context:
space:
mode:
authorxXx-caillou-xXx2018-08-28 18:13:29 +0200
committerjvoisin2018-08-28 16:13:29 +0000
commit888242c30d822392953e1b5f4fc289a96e9da5e0 (patch)
treeb687185d02018594f5c28743a503816cdf291876 /src/tests
parent2950b59dad013a0c47e4d38d43db3de759c07cad (diff)
Fix a SIGSEGV on user-created function's return value
Diffstat (limited to 'src/tests')
-rw-r--r--src/tests/config/config_disabled_functions_ret_user.ini1
-rw-r--r--src/tests/disabled_functions_ret_user.phpt16
-rw-r--r--src/tests/disabled_functions_ret_user_used.phpt15
3 files changed, 32 insertions, 0 deletions
diff --git a/src/tests/config/config_disabled_functions_ret_user.ini b/src/tests/config/config_disabled_functions_ret_user.ini
new file mode 100644
index 0000000..d214376
--- /dev/null
+++ b/src/tests/config/config_disabled_functions_ret_user.ini
@@ -0,0 +1 @@
sp.disable_function.function("qwe").ret("asd").drop();
diff --git a/src/tests/disabled_functions_ret_user.phpt b/src/tests/disabled_functions_ret_user.phpt
new file mode 100644
index 0000000..597a6b8
--- /dev/null
+++ b/src/tests/disabled_functions_ret_user.phpt
@@ -0,0 +1,16 @@
1--TEST--
2Check NULL return value for user func
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) die "skip"; ?>
5--INI--
6sp.configuration_file={PWD}/config/config_disabled_functions_ret_user.ini
7--FILE--
8<?php
9function qwe() {
10 return "asd";
11}
12qwe();
13echo 1;
14?>
15--EXPECT--
161
diff --git a/src/tests/disabled_functions_ret_user_used.phpt b/src/tests/disabled_functions_ret_user_used.phpt
new file mode 100644
index 0000000..7524b45
--- /dev/null
+++ b/src/tests/disabled_functions_ret_user_used.phpt
@@ -0,0 +1,15 @@
1--TEST--
2Check return value for user func
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) die "skip"; ?>
5--INI--
6sp.configuration_file={PWD}/config/config_disabled_functions_ret_user.ini
7--FILE--
8<?php
9function qwe() {
10 return "asd";
11}
12echo qwe();
13?>
14--EXPECTF--
15Fatal error: [snuffleupagus][disabled_function] Aborted execution on return of the function 'qwe', because the function returned 'asd', which matched a rule in %a/tests/disabled_functions_ret_user_used.php on line %d