From 888242c30d822392953e1b5f4fc289a96e9da5e0 Mon Sep 17 00:00:00 2001 From: xXx-caillou-xXx Date: Tue, 28 Aug 2018 18:13:29 +0200 Subject: Fix a SIGSEGV on user-created function's return value --- src/tests/config/config_disabled_functions_ret_user.ini | 1 + src/tests/disabled_functions_ret_user.phpt | 16 ++++++++++++++++ src/tests/disabled_functions_ret_user_used.phpt | 15 +++++++++++++++ 3 files changed, 32 insertions(+) create mode 100644 src/tests/config/config_disabled_functions_ret_user.ini create mode 100644 src/tests/disabled_functions_ret_user.phpt create mode 100644 src/tests/disabled_functions_ret_user_used.phpt (limited to 'src/tests') 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 @@ +--TEST-- +Check NULL return value for user func +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_ret_user.ini +--FILE-- + +--EXPECT-- +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 @@ +--TEST-- +Check return value for user func +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_ret_user.ini +--FILE-- + +--EXPECTF-- +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 -- cgit v1.3