Commit 7368796d42f for php

commit 7368796d42f177e957b32bc6854c95e1572bc1d8
Merge: 7516b7e0ab3 6393bde658d
Author: Jorg Sowa <jorg.sowa@gmail.com>
Date:   Sun Nov 15 00:04:12 2026 +0100

    Merge branch 'PHP-8.4' into PHP-8.5

    # Conflicts:
    #       NEWS
    #       ext/session/session.c

diff --cc NEWS
index 94255c2958a,64c61f8f121..71770cd4ae6
--- a/NEWS
+++ b/NEWS
@@@ -96,11 -104,13 +96,15 @@@ PH
    . Fix trampoline leak when object construction fails for lazy object.
      (ndossche)

+ - Session:
+   . Fixed session upload progress to respect session.use_only_cookies.
+     (jorgsowa)
+
 +- Sockets:
 +  . Fixed socket_addrinfo_lookup() rejecting an empty packed hints array.
 +    (lacatoire)
 +
  - Standard:
 -  . Fixed dns_get_record() returning partially built records for malformed
 -    DNS responses. (Marti2203)
    . Fixed bug GH-25387 (Uploaded files leak in request_parse_body()).
      (Kévin Dunglas)
    . Fixed bug GH-24743 (var_export() ignores exceptions from lazy object
diff --cc ext/session/session.c
index ecdb38b8e49,fc4f201a63d..eb5593c1b7e
--- a/ext/session/session.c
+++ b/ext/session/session.c
@@@ -3273,12 -3316,12 +3273,12 @@@ static zend_result php_session_rfc1867_
  			if (data->name && data->value && value_len) {
  				size_t name_len = strlen(data->name);

- 				if (zend_string_equals_cstr(PS(session_name), data->name, name_len)) {
 -				if (!PS(use_only_cookies) && name_len == progress->sname_len && memcmp(data->name, PS(session_name), name_len) == 0) {
++				if (!PS(use_only_cookies) && zend_string_equals_cstr(PS(session_name), data->name, name_len)) {
  					zval_ptr_dtor(&progress->sid);
  					ZVAL_STRINGL(&progress->sid, (*data->value), value_len);
 -				} else if (name_len == strlen(PS(rfc1867_name)) && memcmp(data->name, PS(rfc1867_name), name_len + 1) == 0) {
 +				} else if (zend_string_equals_cstr(PS(rfc1867_name), data->name, name_len)) {
  					smart_str_free(&progress->key);
 -					smart_str_appends(&progress->key, PS(rfc1867_prefix));
 +					smart_str_append(&progress->key, PS(rfc1867_prefix));
  					smart_str_appendl(&progress->key, *data->value, value_len);
  					smart_str_0(&progress->key);