From 9a1ec108287599b724d143b4d9b1d781fa4f6241 Mon Sep 17 00:00:00 2001 From: lacatoire Date: Fri, 16 Oct 2026 16:24:24 +0200 Subject: [PATCH] Clear CURLOPT_PRIVATE in curl_reset() --- ext/curl/interface.c | 2 ++ ext/curl/tests/curl_reset_private.phpt | 15 +++++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 ext/curl/tests/curl_reset_private.phpt diff --git a/ext/curl/interface.c b/ext/curl/interface.c index 8aec63ca501a..aced7d0b6551 100644 --- a/ext/curl/interface.c +++ b/ext/curl/interface.c @@ -3018,6 +3018,8 @@ PHP_FUNCTION(curl_reset) } curl_easy_reset(ch->cp); + zval_ptr_dtor(&ch->private_data); + ZVAL_UNDEF(&ch->private_data); _php_curl_reset_handlers(ch); _php_curl_set_default_options(ch); } diff --git a/ext/curl/tests/curl_reset_private.phpt b/ext/curl/tests/curl_reset_private.phpt new file mode 100644 index 000000000000..400079135cf7 --- /dev/null +++ b/ext/curl/tests/curl_reset_private.phpt @@ -0,0 +1,15 @@ +--TEST-- +curl_reset(): CURLOPT_PRIVATE is cleared +--EXTENSIONS-- +curl +--FILE-- + +--EXPECT-- +string(13) "secret-marker" +bool(false)