diff options
author | Nicholas Clark <nick@ccl4.org> | 2006-04-16 10:37:46 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2006-04-16 10:37:46 +0000 |
commit | 69d25b4f32e8b88ba21011f0df2af3779b14626d (patch) | |
tree | 534b4c65b20ed84e2d8077bab578fb4f95d5d36e /sv.c | |
parent | 3cdcf0578906870f84793c93ca5df75fb0f4b925 (diff) | |
download | perl-69d25b4f32e8b88ba21011f0df2af3779b14626d.tar.gz |
In Perl_sv_usepvn(), force a move under DEBUGGING to shake out caller
bugs.
p4raw-id: //depot/perl@27839
Diffstat (limited to 'sv.c')
-rw-r--r-- | sv.c | 11 |
1 files changed, 11 insertions, 0 deletions
@@ -3915,7 +3915,18 @@ Perl_sv_usepvn(pTHX_ register SV *sv, register char *ptr, register STRLEN len) SvPV_free(sv); allocate = PERL_STRLEN_ROUNDUP(len + 1); +#ifdef DEBUGGING + { + /* Force a move to shake out bugs in callers. */ + char *new_ptr = safemalloc(allocate); + Copy(ptr, new_ptr, len, char); + PoisonFree(ptr,len,char); + Safefree(ptr); + ptr = new_ptr; + } +#else ptr = saferealloc (ptr, allocate); +#endif SvPV_set(sv, ptr); SvCUR_set(sv, len); SvLEN_set(sv, allocate); |