diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 4705b8874dd05..b92a55b58b87d 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -198,8 +198,6 @@ jobs: fail-fast: false matrix: include: - - os: 13 - arch: X64 - os: 14 arch: ARM64 name: MACOS_${{ matrix.arch }}_DEBUG_NTS diff --git a/ext/session/session.c b/ext/session/session.c index 55a2265df7be9..bb34567dd5dae 100644 --- a/ext/session/session.c +++ b/ext/session/session.c @@ -1571,7 +1571,7 @@ PHPAPI zend_result php_session_reset_id(void) /* {{{ */ smart_str_appends(&var, ZSTR_VAL(PS(id))); smart_str_0(&var); if (sid) { - zval_ptr_dtor_str(sid); + zval_ptr_dtor(sid); ZVAL_STR(sid, smart_str_extract(&var)); } else { REGISTER_STRINGL_CONSTANT("SID", ZSTR_VAL(var.s), ZSTR_LEN(var.s), CONST_DEPRECATED); @@ -1579,7 +1579,7 @@ PHPAPI zend_result php_session_reset_id(void) /* {{{ */ } } else { if (sid) { - zval_ptr_dtor_str(sid); + zval_ptr_dtor(sid); ZVAL_EMPTY_STRING(sid); } else { REGISTER_STRINGL_CONSTANT("SID", "", 0, CONST_DEPRECATED); diff --git a/ext/session/tests/SID_type_confusion.phpt b/ext/session/tests/SID_type_confusion.phpt new file mode 100644 index 0000000000000..837f0784d40ef --- /dev/null +++ b/ext/session/tests/SID_type_confusion.phpt @@ -0,0 +1,19 @@ +--TEST-- +SID constant type confusion +--EXTENSIONS-- +session +--SKIPIF-- + +--INI-- +session.use_cookies=0 +session.use_only_cookies=1 +--FILE-- + +--EXPECT-- +string(0) ""