diff options
author | Stanislav Malyshev <stas@php.net> | 2019-04-29 22:10:21 -0700 |
---|---|---|
committer | Stanislav Malyshev <stas@php.net> | 2019-04-29 22:10:21 -0700 |
commit | 97c728116cbca626b6c2a1d8fe11d493f57f1f97 (patch) | |
tree | 03f1e09062c21809b01c40733f8b7ba13985dde7 /win32/sendmail.c | |
parent | 3d2a6d9bedcadceda9b58deaae774e8551ff294e (diff) | |
parent | f7d59844e159e2433c0d020b545db16ac46717d0 (diff) | |
download | php-git-97c728116cbca626b6c2a1d8fe11d493f57f1f97.tar.gz |
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix #77821: Potential heap corruption in TSendMail()
Diffstat (limited to 'win32/sendmail.c')
-rw-r--r-- | win32/sendmail.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/win32/sendmail.c b/win32/sendmail.c index fc901308ba..6a685ee477 100644 --- a/win32/sendmail.c +++ b/win32/sendmail.c @@ -252,8 +252,9 @@ PHPAPI int TSendMail(char *host, int *error, char **error_message, } if (!found) { - if (headers_lc) { - zend_string_free(headers_lc); + if (headers) { + zend_string_release(headers_trim); + zend_string_release(headers_lc); } *error = W32_SM_SENDMAIL_FROM_NOT_SET; return FAILURE; @@ -267,8 +268,8 @@ PHPAPI int TSendMail(char *host, int *error, char **error_message, efree(RPath); } if (headers) { - zend_string_free(headers_trim); - zend_string_free(headers_lc); + zend_string_release(headers_trim); + zend_string_release(headers_lc); } /* 128 is safe here, the specifier in snprintf isn't longer than that */ *error_message = ecalloc(1, HOST_NAME_LEN + 128); @@ -284,8 +285,8 @@ PHPAPI int TSendMail(char *host, int *error, char **error_message, efree(RPath); } if (headers) { - zend_string_free(headers_trim); - zend_string_free(headers_lc); + zend_string_release(headers_trim); + zend_string_release(headers_lc); } if (ret != SUCCESS) { *error = ret; |