in reply to Re^4: A Net::FTP and DBM::Deep clash
in thread A Net::FTP and DBM::Deep clash
Then you have my apologies for casting errant aspersions. It certainly looked like a DBM::Deep bug. Very nice module BTW.
This should be a perfectly valid call, which should return true.
Actually not. pack 'v*', 33, 35, 28, 44; is just a scalar containing some binary data. Still, it shouldn't crash when you pass it to UNIVERSAL::isa()
The problem isn't directly the fault of Net::FTP either, though it may be related, as the bug also manifests in the presence of IO::Socket. This also crashes, and again, only when a value of 33 is packed and passed:
P:\test>p1 perl> use IO::Socket;; perl> print $_, UNIVERSAL::isa( pack( 'v*', $_ ), 'SCALAR' ) for 0 .. +33;; 0 1 2 [...] 30 31 32 P:\test>rem It segfaulted.
So the bug appears to be that UNIVERAL::isa() attempts to use the passed value as a reference, and dies if you pass it binary data that isn't--but only if it is/contains "dirty knee", 33! And only if some networking module is loaded? Beyond that is the province of the internals guys.
|
|---|