I reached an interesting problem. I added buffer overflow protection to SVPV
pointer types. Win32::API's own test suite died from a buffer overflow here
https://github.com/cosimo/perl5-win32-api/blob/45847136293a8d6939fc319f91702d0b91287726/t/00_API.t#L115
. The sentinal pattern is 2 wide nulls and a 64 bit number, no alignment
padding. At the github link, 1.0 becomes PV "31 [char "1"] 00 00 00 00 [2 wide
nulls] e6 85 69 6f 42 09 00 00 [64bit randomish number] 00[perl's end of scalar
null]" with SvCUR 13. A double is 8 bytes. Buffer overflow protection trips. So
what a dilemma. Backwards compatibility means ignoring memory corruption. I
think its irresponsible to turn off a major security/stability improvement for
any reason, I'm leaving it on. Comments?