]> granicus.if.org Git - php/commitdiff
Move SessionHandler sanity checks after zpp
authorNikita Popov <nikita.ppv@gmail.com>
Fri, 17 Jul 2020 14:50:09 +0000 (16:50 +0200)
committerNikita Popov <nikita.ppv@gmail.com>
Fri, 17 Jul 2020 14:56:50 +0000 (16:56 +0200)
ext/session/mod_user_class.c

index 4c40028b2f947105f2778999b723b6cb7b043873..30611e656b9ccaf97c5f458b8b30554a4865cbd7 100644 (file)
@@ -41,12 +41,12 @@ PHP_METHOD(SessionHandler, open)
        size_t save_path_len, session_name_len;
        int ret;
 
-       PS_SANITY_CHECK;
-
        if (zend_parse_parameters(ZEND_NUM_ARGS(), "ss", &save_path, &save_path_len, &session_name, &session_name_len) == FAILURE) {
                RETURN_THROWS();
        }
 
+       PS_SANITY_CHECK;
+
        PS(mod_user_is_open) = 1;
 
        zend_try {
@@ -65,12 +65,12 @@ PHP_METHOD(SessionHandler, close)
 {
        int ret;
 
-       PS_SANITY_CHECK_IS_OPEN;
-
        // don't return on failure, since not closing the default handler
        // could result in memory leaks or other nasties
        zend_parse_parameters_none();
 
+       PS_SANITY_CHECK_IS_OPEN;
+
        PS(mod_user_is_open) = 0;
 
        zend_try {
@@ -90,12 +90,12 @@ PHP_METHOD(SessionHandler, read)
        zend_string *val;
        zend_string *key;
 
-       PS_SANITY_CHECK_IS_OPEN;
-
        if (zend_parse_parameters(ZEND_NUM_ARGS(), "S", &key) == FAILURE) {
                RETURN_THROWS();
        }
 
+       PS_SANITY_CHECK_IS_OPEN;
+
        if (PS(default_mod)->s_read(&PS(mod_data), key, &val, PS(gc_maxlifetime)) == FAILURE) {
                RETURN_FALSE;
        }
@@ -109,12 +109,12 @@ PHP_METHOD(SessionHandler, write)
 {
        zend_string *key, *val;
 
-       PS_SANITY_CHECK_IS_OPEN;
-
        if (zend_parse_parameters(ZEND_NUM_ARGS(), "SS", &key, &val) == FAILURE) {
                RETURN_THROWS();
        }
 
+       PS_SANITY_CHECK_IS_OPEN;
+
        RETURN_BOOL(SUCCESS == PS(default_mod)->s_write(&PS(mod_data), key, val, PS(gc_maxlifetime)));
 }
 /* }}} */
@@ -124,12 +124,12 @@ PHP_METHOD(SessionHandler, destroy)
 {
        zend_string *key;
 
-       PS_SANITY_CHECK_IS_OPEN;
-
        if (zend_parse_parameters(ZEND_NUM_ARGS(), "S", &key) == FAILURE) {
                RETURN_THROWS();
        }
 
+       PS_SANITY_CHECK_IS_OPEN;
+
        RETURN_BOOL(SUCCESS == PS(default_mod)->s_destroy(&PS(mod_data), key));
 }
 /* }}} */
@@ -140,12 +140,12 @@ PHP_METHOD(SessionHandler, gc)
        zend_long maxlifetime;
        zend_long nrdels = -1;
 
-       PS_SANITY_CHECK_IS_OPEN;
-
        if (zend_parse_parameters(ZEND_NUM_ARGS(), "l", &maxlifetime) == FAILURE) {
                RETURN_THROWS();
        }
 
+       PS_SANITY_CHECK_IS_OPEN;
+
        if (PS(default_mod)->s_gc(&PS(mod_data), maxlifetime, &nrdels) == FAILURE) {
                RETURN_FALSE;
        }
@@ -158,12 +158,12 @@ PHP_METHOD(SessionHandler, create_sid)
 {
        zend_string *id;
 
-       PS_SANITY_CHECK;
-
        if (zend_parse_parameters_none() == FAILURE) {
            RETURN_THROWS();
        }
 
+       PS_SANITY_CHECK;
+
        id = PS(default_mod)->s_create_sid(&PS(mod_data));
 
        RETURN_STR(id);