diff --git a/ext/session/php_session.h b/ext/session/php_session.h index 5b4d3db64f4..4c7c72f2ba1 100644 --- a/ext/session/php_session.h +++ b/ext/session/php_session.h @@ -285,26 +285,20 @@ PHPAPI zend_result php_session_reset_id(void); } \ } while (0) - -#define PS_ENCODE_VARS \ - zend_string *key; \ - zend_ulong num_key; \ - zval *struc; - /* Do not use a return statement in `code` because that may leak memory. * Break out of the loop instead. */ #define PS_ENCODE_LOOP(code) do { \ zval _zv; \ /* protect against user interference */ \ ZVAL_COPY(&_zv, Z_REFVAL(PS(http_session_vars))); \ - HashTable *_ht = Z_ARRVAL(_zv); \ - ZEND_HASH_FOREACH_KEY(_ht, num_key, key) { \ + ZEND_HASH_FOREACH_KEY(Z_ARRVAL(_zv), zend_ulong num_key, zend_string * key) { \ if (key == NULL) { \ php_error_docref(NULL, E_WARNING, \ "Skipping numeric key " ZEND_LONG_FMT, num_key);\ continue; \ } \ - if ((struc = php_get_session_var(key))) { \ + zval *struc = php_get_session_var(key); \ + if (struc) { \ code; \ } \ } ZEND_HASH_FOREACH_END(); \ diff --git a/ext/session/session.c b/ext/session/session.c index cd957369c5e..e57123166e2 100644 --- a/ext/session/session.c +++ b/ext/session/session.c @@ -567,8 +567,6 @@ static void php_session_save_current_state(bool write) static void php_session_normalize_vars(void) { - PS_ENCODE_VARS; - IF_SESSION_VARS() { PS_ENCODE_LOOP( if (Z_TYPE_P(struc) == IS_PTR) { @@ -988,7 +986,6 @@ PS_SERIALIZER_ENCODE_FUNC(php_binary) { smart_str buf = {0}; php_serialize_data_t var_hash; - PS_ENCODE_VARS; PHP_VAR_SERIALIZE_INIT(var_hash); @@ -1052,7 +1049,6 @@ PS_SERIALIZER_ENCODE_FUNC(php) smart_str buf = {0}; php_serialize_data_t var_hash; bool fail = false; - PS_ENCODE_VARS; PHP_VAR_SERIALIZE_INIT(var_hash);