summaryrefslogtreecommitdiff
path: root/sv.c
diff options
context:
space:
mode:
authorHugo van der Sanden <hv@crypt.org>2004-03-11 16:21:50 +0000
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2004-03-12 18:31:12 +0000
commite01c5899dd5c15c076ff80faae646f1bb851ca52 (patch)
tree52428972fd61665c046bd15b18b77bbfb1a467a7 /sv.c
parent590d29db556974e9ffeb477a1a1932ff001d099f (diff)
downloadperl-e01c5899dd5c15c076ff80faae646f1bb851ca52.tar.gz
Fix a bug in the cloning of regexps
Subject: Re: [perl #27530] Regex qr// interpolation fails when chr(0) is used in a thread Message-Id: <200403111621.i2BGLoi20225@zen.crypt.org> (plus another similar fix) p4raw-id: //depot/perl@22490
Diffstat (limited to 'sv.c')
-rw-r--r--sv.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sv.c b/sv.c
index 70e157dfdf..2d4683903c 100644
--- a/sv.c
+++ b/sv.c
@@ -9715,7 +9715,7 @@ Perl_re_dup(pTHX_ REGEXP *r, CLONE_PARAMS *param)
New(0, ret->offsets, 2*len+1, U32);
Copy(r->offsets, ret->offsets, 2*len+1, U32);
- ret->precomp = SAVEPV(r->precomp);
+ ret->precomp = SAVEPVN(r->precomp, r->prelen);
ret->refcnt = r->refcnt;
ret->minlen = r->minlen;
ret->prelen = r->prelen;
@@ -9727,7 +9727,7 @@ Perl_re_dup(pTHX_ REGEXP *r, CLONE_PARAMS *param)
ret->sublen = r->sublen;
if (RX_MATCH_COPIED(ret))
- ret->subbeg = SAVEPV(r->subbeg);
+ ret->subbeg = SAVEPVN(r->subbeg, r->sublen);
else
ret->subbeg = Nullch;
#ifdef PERL_COPY_ON_WRITE