Skip to content

Commit 3c6a230

Browse files
committed
Merge branch 'PHP-7.4'
* PHP-7.4: Fix #79078: Hypothetical use-after-free in curl_multi_add_handle()
2 parents 2142679 + b2864b7 commit 3c6a230

File tree

2 files changed

+11
-9
lines changed

2 files changed

+11
-9
lines changed

ext/curl/multi.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,8 @@ PHP_FUNCTION(curl_multi_add_handle)
8888
RETURN_THROWS();
8989
}
9090

91+
_php_curl_verify_handlers(ch, 1);
92+
9193
_php_curl_cleanup_handle(ch);
9294

9395
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)