Skip to content

Commit b2864b7

Browse files
committed
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3: Fix #79078: Hypothetical use-after-free in curl_multi_add_handle()
2 parents 7ea4f0e + 0dda4a8 commit b2864b7

File tree

3 files changed

+15
-9
lines changed

3 files changed

+15
-9
lines changed

NEWS

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@ PHP NEWS
22
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
33
?? ??? ????, PHP 7.4.3
44

5+
- CURL:
6+
. Fixed bug #79078 (Hypothetical use-after-free in curl_multi_add_handle()).
7+
(cmb)
8+
59
23 Jan 2020, PHP 7.4.2
610

711
- Core:

ext/curl/multi.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,8 @@ PHP_FUNCTION(curl_multi_add_handle)
9292
RETURN_FALSE;
9393
}
9494

95+
_php_curl_verify_handlers(ch, 1);
96+
9597
_php_curl_cleanup_handle(ch);
9698

9799
GC_ADDREF(Z_RES_P(z_ch));

ext/curl/tests/bug48203_multi.phpt

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -67,23 +67,23 @@ foreach($options_to_check as $option) {
6767
--CLEAN--
6868
<?php @unlink(__DIR__ . '/bug48203.tmp'); ?>
6969
--EXPECTF--
70-
Warning: curl_multi_exec(): CURLOPT_STDERR resource has gone away, resetting to stderr in %s on line %d
71-
72-
Warning: curl_multi_exec(): CURLOPT_STDERR resource has gone away, resetting to stderr in %s on line %d
70+
Warning: curl_multi_add_handle(): CURLOPT_STDERR resource has gone away, resetting to stderr in %s on line %d
71+
%A
72+
Warning: curl_multi_add_handle(): CURLOPT_STDERR resource has gone away, resetting to stderr in %s on line %d
7373
%A
7474
Ok for CURLOPT_STDERR
7575

76-
Warning: curl_multi_exec(): CURLOPT_WRITEHEADER resource has gone away, resetting to default in %s on line %d
76+
Warning: curl_multi_add_handle(): CURLOPT_WRITEHEADER resource has gone away, resetting to default in %s on line %d
7777

78-
Warning: curl_multi_exec(): CURLOPT_WRITEHEADER resource has gone away, resetting to default in %s on line %d
78+
Warning: curl_multi_add_handle(): CURLOPT_WRITEHEADER resource has gone away, resetting to default in %s on line %d
7979
Ok for CURLOPT_WRITEHEADER
8080

81-
Warning: curl_multi_exec(): CURLOPT_FILE resource has gone away, resetting to default in %s on line %d
81+
Warning: curl_multi_add_handle(): CURLOPT_FILE resource has gone away, resetting to default in %s on line %d
8282

83-
Warning: curl_multi_exec(): CURLOPT_FILE resource has gone away, resetting to default in %s on line %d
83+
Warning: curl_multi_add_handle(): CURLOPT_FILE resource has gone away, resetting to default in %s on line %d
8484
%AOk for CURLOPT_FILE
8585

86-
Warning: curl_multi_exec(): CURLOPT_INFILE resource has gone away, resetting to default in %s on line %d
86+
Warning: curl_multi_add_handle(): CURLOPT_INFILE resource has gone away, resetting to default in %s on line %d
8787

88-
Warning: curl_multi_exec(): CURLOPT_INFILE resource has gone away, resetting to default in %s on line %d
88+
Warning: curl_multi_add_handle(): CURLOPT_INFILE resource has gone away, resetting to default in %s on line %d
8989
Ok for CURLOPT_INFILE

0 commit comments

Comments
 (0)