Skip to content

Commit f7d5984

Browse files
committed
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3: Fix #77821: Potential heap corruption in TSendMail()
2 parents 8cdd215 + 506a764 commit f7d5984

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

win32/sendmail.c

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -252,8 +252,9 @@ PHPAPI int TSendMail(char *host, int *error, char **error_message,
252252
}
253253

254254
if (!found) {
255-
if (headers_lc) {
256-
zend_string_free(headers_lc);
255+
if (headers) {
256+
zend_string_release(headers_trim);
257+
zend_string_release(headers_lc);
257258
}
258259
*error = W32_SM_SENDMAIL_FROM_NOT_SET;
259260
return FAILURE;
@@ -267,8 +268,8 @@ PHPAPI int TSendMail(char *host, int *error, char **error_message,
267268
efree(RPath);
268269
}
269270
if (headers) {
270-
zend_string_free(headers_trim);
271-
zend_string_free(headers_lc);
271+
zend_string_release(headers_trim);
272+
zend_string_release(headers_lc);
272273
}
273274
/* 128 is safe here, the specifier in snprintf isn't longer than that */
274275
*error_message = ecalloc(1, HOST_NAME_LEN + 128);
@@ -284,8 +285,8 @@ PHPAPI int TSendMail(char *host, int *error, char **error_message,
284285
efree(RPath);
285286
}
286287
if (headers) {
287-
zend_string_free(headers_trim);
288-
zend_string_free(headers_lc);
288+
zend_string_release(headers_trim);
289+
zend_string_release(headers_lc);
289290
}
290291
if (ret != SUCCESS) {
291292
*error = ret;

0 commit comments

Comments
 (0)