diff options
| author | jvoisin | 2018-12-26 13:17:36 +0100 |
|---|---|---|
| committer | jvoisin | 2018-12-26 13:17:36 +0100 |
| commit | 840479e06f1a3ce94f106b4978c80dc104321810 (patch) | |
| tree | 9ad145c5fa10f6465209afe2bb6fae89eaab870d /src/sp_session.c | |
| parent | 188f877ccdd12b52b154b6deca11d4a1efe428a5 (diff) | |
Fix the build for php7.0
We only want to prevent crash/infinite recursion,
we don't really care about the error/warning
messages.
Diffstat (limited to 'src/sp_session.c')
| -rw-r--r-- | src/sp_session.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/sp_session.c b/src/sp_session.c index bd11557..22b6688 100644 --- a/src/sp_session.c +++ b/src/sp_session.c | |||
| @@ -93,6 +93,16 @@ static void sp_hook_session_module() { | |||
| 93 | } | 93 | } |
| 94 | 94 | ||
| 95 | static PHP_INI_MH(sp_OnUpdateSaveHandler) { | 95 | static PHP_INI_MH(sp_OnUpdateSaveHandler) { |
| 96 | #if PHP_VERSION_ID < 70100 | ||
| 97 | /* PHP7.0 doesn't handle well recusively set session handlers */ | ||
| 98 | if (stage == PHP_INI_STAGE_RUNTIME && | ||
| 99 | SESSION_G(session_status) == php_session_none && s_original_mod && | ||
| 100 | zend_string_equals_literal(new_value, "user") == 0 && | ||
| 101 | strcmp(((ps_module *)s_original_mod)->s_name, "user") == 0) { | ||
| 102 | return SUCCESS; | ||
| 103 | } | ||
| 104 | #endif | ||
| 105 | |||
| 96 | SESSION_G(mod) = s_original_mod; | 106 | SESSION_G(mod) = s_original_mod; |
| 97 | 107 | ||
| 98 | int r = old_OnUpdateSaveHandler(entry, new_value, mh_arg1, mh_arg2, mh_arg3, | 108 | int r = old_OnUpdateSaveHandler(entry, new_value, mh_arg1, mh_arg2, mh_arg3, |
