Commit ed887241be8 for php.net
commit ed887241be87c976a44c8727e3a08bdb8f252ae3
Merge: 7f202231435 f04873c1b89
Author: David Carlier <devnexen@gmail.com>
Date: Tue Mar 10 22:01:03 2026 +0000
Merge branch 'PHP-8.5'
* PHP-8.5:
ext/soap: Fix wrong cookie options offset calculation, using separator offset instead.
diff --cc ext/soap/php_http.c
index 63c0093eb05,944b033363c..4bf599234f7
--- a/ext/soap/php_http.c
+++ b/ext/soap/php_http.c
@@@ -1014,22 -1014,24 +1014,22 @@@ try_again
char *eqpos = strstr(cookie, "=");
char *sempos = strstr(cookie, ";");
if (eqpos != NULL && (sempos == NULL || sempos > eqpos)) {
- size_t cookie_len;
- smart_str name = {0};
zval zcookie;
+ size_t cookie_value_len;
if (sempos != NULL) {
- cookie_len = sempos-(eqpos+1);
+ cookie_value_len = sempos-(eqpos+1);
} else {
- cookie_len = strlen(cookie)-(eqpos-cookie)-1;
+ cookie_value_len = strlen(cookie)-(eqpos-cookie)-1;
}
- smart_str_appendl(&name, cookie, eqpos - cookie);
- smart_str_0(&name);
+ zend_string *name = zend_string_init(cookie, eqpos - cookie, false);
array_init(&zcookie);
- add_index_stringl(&zcookie, 0, eqpos + 1, cookie_len);
+ add_index_stringl(&zcookie, 0, eqpos + 1, cookie_value_len);
if (sempos != NULL) {
- char *options = cookie + cookie_len+1;
+ char *options = sempos + 1;
while (*options) {
while (*options == ' ') {options++;}
sempos = strstr(options, ";");