diff options
author | Nicholas Clark <nick@ccl4.org> | 2005-06-23 14:11:20 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2005-06-23 14:11:20 +0000 |
commit | 94010e71b67db04027249ff69e2a2bfa9a050945 (patch) | |
tree | 3288295ac02b3ed67238e92114987299ead8ffc3 /pp_ctl.c | |
parent | 771ba71a7bf3673decf297992c8591f2ff873802 (diff) | |
download | perl-94010e71b67db04027249ff69e2a2bfa9a050945.tar.gz |
Add a define PERL_POISON which tries to trip up anything accessing
freed or uninitialised memory. Currently only Poison()s freed
pointers.
p4raw-id: //depot/perl@24959
Diffstat (limited to 'pp_ctl.c')
-rw-r--r-- | pp_ctl.c | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -371,7 +371,14 @@ Perl_rxres_free(pTHX_ void **rsp) UV *p = (UV*)*rsp; if (p) { +#ifdef PERL_POISON + void *tmp = INT2PTR(char*,*p); + Safefree(tmp); + if (*p) + Poison(*p, 1, sizeof(*p)); +#else Safefree(INT2PTR(char*,*p)); +#endif #ifdef PERL_OLD_COPY_ON_WRITE if (p[1]) { SvREFCNT_dec (INT2PTR(SV*,p[1])); |