* Marvin Humphrey shaped the electrons to say...
The one thing that looks weird is this, in sv_bio_final():
if (!sv) {
sv = &PL_sv_undef;
}
That was just in the for debugging, I commented it out and still have the
leak behavior. valgrind reports this:
==30258== 436 (112 direct, 324 indirect) bytes in 1 blocks are definitely lost
in loss record 11 of 16
==30258== at 0x4A2080E: malloc (vg_replace_malloc.c:149)
==30258== by 0x56CC911: CRYPTO_malloc (in /usr/lib/libcrypto.so.0.9.8)
==30258==
==30258==
==30258== 788 bytes in 53 blocks are definitely lost in loss record 13 of 16
==30258== at 0x4A2080E: malloc (vg_replace_malloc.c:149)
==30258== by 0x499A85: Perl_safesysmalloc (util.c:78)
==30258== by 0x49B7DF: Perl_savepvn (util.c:789)
==30258== by 0x42D8C7: Perl_gv_fetchpv (gv.c:754)
==30258== by 0x427C2C: S_init_main_stash (perl.c:3510)
==30258== by 0x42210A: S_parse_body (perl.c:1657)
==30258== by 0x421DE1: perl_parse (perl.c:1598)
==30258== by 0x41D674: main (perlmain.c:97)
If I comment out some of the openssl calls, the CRYPTO_malloc leak goes away,
but the perl one is still there. How would I find out what part of my XS code
is causing that leak?
-D
--
Adobe Photoshop - When you want the truth. Real bad.