The leak occurs due to creation of empty base object inside the XS code. This fix also happens to solve the "Attempt to free unreferenced scalar: SV 0xdeadbeef during global destruction." issue.
The dismissal of *"Attempt to free unreferenced scalar..." warning can be verified via Net::Curl::Simple test suite; while using the original Net::Curl, it repeatedly produces the aforementioned message:
t/42-coro-anyevent.t ..... 1/20 Please rebuild libcurl with AsynchDNS to avoid blocking DNS requests
# loaded implementation: Net/Curl/Simple/Async/AnyEvent.pm
Attempt to free unreferenced scalar: SV 0x7fa88b964378 during global destruction.
t/42-coro-anyevent.t ..... ok
I also "smoked" the patched Net::Curl on a reasonably large crawler system (which processes over 1 million HTML-pages every 24 hours) no unexpected behavior was detected.
Fixed "Attempt to free unreferenced scalar: SV 0xdeadbeef during glob…
Added t/96-leak.t (which uses Devel::Leak) to confirm there are no mo…
ExtUtils::PkgConfig now recognizes libcurl installed directly into PE…
Even better: use libcurl bound to the curl executable in the user's path
Merged t/old-13slowleak.t into t/96-leak.t
Updated inc/symbols-in-versions from libcurl/7.28.0
Getting rid of non-local GLOBs in the leak test
Reverse link to rt.cpan.org: RT#81053
Getting rid of clang warnings
Fixed clang warning in a more appropriate way
Temporarily disabling leak test on Net::Curl::Multi due to an unexpec…
…ted behavior of libcurl/7.29.0
Updated with libcurl/7.30.0
Merge pull request #1 from creaktive/master
Fixed the leak responsible for the accumulation of unreferenced scalars