Skip to content

Commit d641a9f

Browse files
committed
Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4: mbstring: Fix memory leak in mail header parsing
2 parents 7aa6c49 + 61a1b9a commit d641a9f

1 file changed

Lines changed: 14 additions & 10 deletions

File tree

ext/mbstring/mbstring.c

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4450,12 +4450,14 @@ static int _php_mbstr_parse_mail_headers(HashTable *ht, const char *str, size_t
44504450
fld_val = zend_string_init(token, token_pos, 0);
44514451
}
44524452

4453-
if (fld_name != NULL && fld_val != NULL) {
4454-
zval val;
4455-
zend_str_tolower(ZSTR_VAL(fld_name), ZSTR_LEN(fld_name));
4456-
ZVAL_STR(&val, fld_val);
4453+
if (fld_name != NULL) {
4454+
if (fld_val != NULL) {
4455+
zval val;
4456+
zend_str_tolower(ZSTR_VAL(fld_name), ZSTR_LEN(fld_name));
4457+
ZVAL_STR(&val, fld_val);
44574458

4458-
zend_hash_update(ht, fld_name, &val);
4459+
zend_hash_update(ht, fld_name, &val);
4460+
}
44594461

44604462
zend_string_release_ex(fld_name, 0);
44614463
}
@@ -4496,11 +4498,13 @@ static int _php_mbstr_parse_mail_headers(HashTable *ht, const char *str, size_t
44964498
if(token && token_pos > 0) {
44974499
fld_val = zend_string_init(token, token_pos, 0);
44984500
}
4499-
if (fld_name != NULL && fld_val != NULL) {
4500-
zval val;
4501-
zend_str_tolower(ZSTR_VAL(fld_name), ZSTR_LEN(fld_name));
4502-
ZVAL_STR(&val, fld_val);
4503-
zend_hash_update(ht, fld_name, &val);
4501+
if (fld_name != NULL) {
4502+
if (fld_val != NULL) {
4503+
zval val;
4504+
zend_str_tolower(ZSTR_VAL(fld_name), ZSTR_LEN(fld_name));
4505+
ZVAL_STR(&val, fld_val);
4506+
zend_hash_update(ht, fld_name, &val);
4507+
}
45044508

45054509
zend_string_release_ex(fld_name, 0);
45064510
}

0 commit comments

Comments
 (0)