fix double free on -Mutf8 -e '$b=uc("")'
authorLarry Wall <larry@wall.org>
Fri, 7 Aug 1998 14:42:43 +0000 (07:42 -0700)
committerGurusamy Sarathy <gsar@cpan.org>
Sat, 8 Aug 1998 22:45:06 +0000 (22:45 +0000)
Message-Id: <199808072142.OAA14920@wall.org>
Subject: [PATCH 5.005_50]: uc("") and lc("") under utf8 fails

p4raw-id: //depot/perl@1769

pp.c

diff --git a/pp.c b/pp.c
index 3accab2..a6f26f5 100644 (file)
--- a/pp.c
+++ b/pp.c
@@ -2281,8 +2281,11 @@ PP(pp_uc)
        U8 *send;
 
        s = SvPV(sv,len);
-       if (!len)
+       if (!len) {
+           sv_setpvn(TARG, "", 0);
+           SETs(TARG);
            RETURN;
+       }
 
        (void)SvUPGRADE(TARG, SVt_PV);
        SvGROW(TARG, (len * 2) + 1);
@@ -2348,8 +2351,11 @@ PP(pp_lc)
        U8 *send;
 
        s = SvPV(sv,len);
-       if (!len)
+       if (!len) {
+           sv_setpvn(TARG, "", 0);
+           SETs(TARG);
            RETURN;
+       }
 
        (void)SvUPGRADE(TARG, SVt_PV);
        SvGROW(TARG, (len * 2) + 1);