diff options
| author | xXx-caillou-xXx | 2018-08-28 18:13:29 +0200 |
|---|---|---|
| committer | jvoisin | 2018-08-28 16:13:29 +0000 |
| commit | 888242c30d822392953e1b5f4fc289a96e9da5e0 (patch) | |
| tree | b687185d02018594f5c28743a503816cdf291876 /src/tests | |
| parent | 2950b59dad013a0c47e4d38d43db3de759c07cad (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.ini | 1 | ||||
| -rw-r--r-- | src/tests/disabled_functions_ret_user.phpt | 16 | ||||
| -rw-r--r-- | src/tests/disabled_functions_ret_user_used.phpt | 15 |
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-- | ||
| 2 | Check NULL return value for user func | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) die "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/config_disabled_functions_ret_user.ini | ||
| 7 | --FILE-- | ||
| 8 | <?php | ||
| 9 | function qwe() { | ||
| 10 | return "asd"; | ||
| 11 | } | ||
| 12 | qwe(); | ||
| 13 | echo 1; | ||
| 14 | ?> | ||
| 15 | --EXPECT-- | ||
| 16 | 1 | ||
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-- | ||
| 2 | Check return value for user func | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) die "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/config_disabled_functions_ret_user.ini | ||
| 7 | --FILE-- | ||
| 8 | <?php | ||
| 9 | function qwe() { | ||
| 10 | return "asd"; | ||
| 11 | } | ||
| 12 | echo qwe(); | ||
| 13 | ?> | ||
| 14 | --EXPECTF-- | ||
| 15 | Fatal 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 | ||
