summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pp.c2
-rw-r--r--t/lib/warnings/9uninit1
2 files changed, 2 insertions, 1 deletions
diff --git a/pp.c b/pp.c
index 5b09c082d1..3551d8f1ea 100644
--- a/pp.c
+++ b/pp.c
@@ -3178,6 +3178,8 @@ PP(pp_substr)
repl = SvPV_const(repl_sv_copy, repl_len);
repl_is_utf8 = DO_UTF8(repl_sv_copy) && SvCUR(sv);
}
+ if (!SvOK(sv))
+ sv_setpvs(sv, "");
sv_insert(sv, pos, rem, repl, repl_len);
if (repl_is_utf8)
SvUTF8_on(sv);
diff --git a/t/lib/warnings/9uninit b/t/lib/warnings/9uninit
index 9316dc8515..8c70a14485 100644
--- a/t/lib/warnings/9uninit
+++ b/t/lib/warnings/9uninit
@@ -873,7 +873,6 @@ Use of uninitialized value $g2 in substr at - line 7.
Use of uninitialized value $m2 in substr at - line 7.
Use of uninitialized value $g1 in substr at - line 7.
Use of uninitialized value $m1 in substr at - line 7.
-Use of uninitialized value $m1 in substr at - line 7.
Use of uninitialized value $g1 in substr at - line 8.
Use of uninitialized value $m1 in substr at - line 8.
Use of uninitialized value in scalar assignment at - line 8.