Skip to content

Commit 2c39338

Browse files
committed
Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1: Fix #77821: Potential heap corruption in TSendMail()
2 parents 18a9ae4 + 6c631cc commit 2c39338

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
@@ -261,8 +261,9 @@ PHPAPI int TSendMail(char *host, int *error, char **error_message,
261261
}
262262

263263
if (!found) {
264-
if (headers_lc) {
265-
zend_string_free(headers_lc);
264+
if (headers) {
265+
zend_string_release(headers_trim);
266+
zend_string_release(headers_lc);
266267
}
267268
*error = W32_SM_SENDMAIL_FROM_NOT_SET;
268269
return FAILURE;
@@ -276,8 +277,8 @@ PHPAPI int TSendMail(char *host, int *error, char **error_message,
276277
efree(RPath);
277278
}
278279
if (headers) {
279-
zend_string_free(headers_trim);
280-
zend_string_free(headers_lc);
280+
zend_string_release(headers_trim);
281+
zend_string_release(headers_lc);
281282
}
282283
/* 128 is safe here, the specifier in snprintf isn't longer than that */
283284
*error_message = ecalloc(1, HOST_NAME_LEN + 128);
@@ -293,8 +294,8 @@ PHPAPI int TSendMail(char *host, int *error, char **error_message,
293294
efree(RPath);
294295
}
295296
if (headers) {
296-
zend_string_free(headers_trim);
297-
zend_string_free(headers_lc);
297+
zend_string_release(headers_trim);
298+
zend_string_release(headers_lc);
298299
}
299300
if (ret != SUCCESS) {
300301
*error = ret;

0 commit comments

Comments
 (0)