Skip to content

Commit 8db6246

Browse files
committed
Merge branch 'PHP-8.5'
* PHP-8.5: mbstring: Fix memory leak in mail header parsing
2 parents 0e973e3 + d641a9f commit 8db6246

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
@@ -4481,12 +4481,14 @@ static int _php_mbstr_parse_mail_headers(HashTable *ht, const char *str, size_t
44814481
fld_val = zend_string_init(token, token_pos, 0);
44824482
}
44834483

4484-
if (fld_name != NULL && fld_val != NULL) {
4485-
zval val;
4486-
zend_str_tolower(ZSTR_VAL(fld_name), ZSTR_LEN(fld_name));
4487-
ZVAL_STR(&val, fld_val);
4484+
if (fld_name != NULL) {
4485+
if (fld_val != NULL) {
4486+
zval val;
4487+
zend_str_tolower(ZSTR_VAL(fld_name), ZSTR_LEN(fld_name));
4488+
ZVAL_STR(&val, fld_val);
44884489

4489-
zend_hash_update(ht, fld_name, &val);
4490+
zend_hash_update(ht, fld_name, &val);
4491+
}
44904492

44914493
zend_string_release_ex(fld_name, 0);
44924494
}
@@ -4527,11 +4529,13 @@ static int _php_mbstr_parse_mail_headers(HashTable *ht, const char *str, size_t
45274529
if(token && token_pos > 0) {
45284530
fld_val = zend_string_init(token, token_pos, 0);
45294531
}
4530-
if (fld_name != NULL && fld_val != NULL) {
4531-
zval val;
4532-
zend_str_tolower(ZSTR_VAL(fld_name), ZSTR_LEN(fld_name));
4533-
ZVAL_STR(&val, fld_val);
4534-
zend_hash_update(ht, fld_name, &val);
4532+
if (fld_name != NULL) {
4533+
if (fld_val != NULL) {
4534+
zval val;
4535+
zend_str_tolower(ZSTR_VAL(fld_name), ZSTR_LEN(fld_name));
4536+
ZVAL_STR(&val, fld_val);
4537+
zend_hash_update(ht, fld_name, &val);
4538+
}
45354539

45364540
zend_string_release_ex(fld_name, 0);
45374541
}

0 commit comments

Comments
 (0)