summaryrefslogtreecommitdiff
path: root/src/sp_session.c
diff options
context:
space:
mode:
authorjvoisin2018-10-06 16:15:00 +0000
committerGitHub2018-10-06 16:15:00 +0000
commitaa550b9abadc109a2c89a7cd6dd047ac2a953027 (patch)
tree1892e9ce8f833f3f13278cd424368fe1b5e26d91 /src/sp_session.c
parent228fadf307b167a22ad6ec760f3b2ee2e9f2fee3 (diff)
Bump a bit the coverage
* `setcookie` doesn't always return `true` anymore * clang-format * Cookies with invalid decryption are dropped, but the request isn't anymore * faulty unserialize are now dumpable
Diffstat (limited to 'src/sp_session.c')
-rw-r--r--src/sp_session.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/sp_session.c b/src/sp_session.c
index 0f1c0b8..73fda22 100644
--- a/src/sp_session.c
+++ b/src/sp_session.c
@@ -27,10 +27,11 @@ static ZEND_INI_MH((*old_OnUpdateSaveHandler)) = NULL;
27 27
28static int sp_hook_s_read(PS_READ_ARGS) { 28static int sp_hook_s_read(PS_READ_ARGS) {
29 int r = old_s_read(mod_data, key, val, maxlifetime); 29 int r = old_s_read(mod_data, key, val, maxlifetime);
30 const sp_config_session* config_session = SNUFFLEUPAGUS_G(config).config_session; 30 const sp_config_session *config_session =
31 SNUFFLEUPAGUS_G(config).config_session;
31 32
32 if (r == SUCCESS && config_session->encrypt && 33 if (r == SUCCESS && config_session->encrypt && val != NULL && *val != NULL &&
33 val != NULL && *val != NULL && ZSTR_LEN(*val)) { 34 ZSTR_LEN(*val)) {
34 zend_string *orig_val = *val; 35 zend_string *orig_val = *val;
35 zval val_zval; 36 zval val_zval;
36 ZVAL_PSTRINGL(&val_zval, ZSTR_VAL(*val), ZSTR_LEN(*val)); 37 ZVAL_PSTRINGL(&val_zval, ZSTR_VAL(*val), ZSTR_LEN(*val));
@@ -40,7 +41,7 @@ static int sp_hook_s_read(PS_READ_ARGS) {
40 if (config_session->simulation) { 41 if (config_session->simulation) {
41 return ret; 42 return ret;
42 } else { 43 } else {
43 sp_terminate(); 44 zend_bailout();
44 } 45 }
45 } 46 }
46 47