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)