summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian M. Enache <enache@rdslink.ro>2003-12-08 03:30:16 +0000
committerEnache Adrian <enache@rdslink.ro>2003-12-08 03:30:16 +0000
commit26ef79ca764308aafc052155f9b90d39f1d9c77a (patch)
treedeaa20c10aaa12fb0b7c9173f5d712a8c2e21c01
parent47b1b33c554896606d6ccea2662feb267c51cf40 (diff)
downloadperl-26ef79ca764308aafc052155f9b90d39f1d9c77a.tar.gz
plumb a leak with pos().
#! perl while (1) { my $a = "\x{1ff}"; $a =~ /\x{1ff}/g; pos($a); } __END__ p4raw-id: //depot/perl@21866
-rw-r--r--sv.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sv.c b/sv.c
index dc089b8386..6f53c587e4 100644
--- a/sv.c
+++ b/sv.c
@@ -6056,7 +6056,8 @@ Perl_sv_pos_b2u(pTHX_ register SV* sv, I32* offsetp)
assert(mg);
if (!mg->mg_ptr) {
- Newz(0, cache, PERL_MAGIC_UTF8_CACHESIZE * 2, STRLEN);
+ mg->mg_len = PERL_MAGIC_UTF8_CACHESIZE * 2;
+ Newz(0, cache, mg->mg_len, STRLEN);
mg->mg_ptr = (char *) cache;
}
assert(cache);