summaryrefslogtreecommitdiff
path: root/pp.c
diff options
context:
space:
mode:
authorRafael Garcia-Suarez <rgs@consttype.org>2010-04-09 14:19:00 +0200
committerJesse Vincent <jesse@bestpractical.com>2010-04-09 23:19:18 -0400
commit10b53e54b35afb95d0539352073152024b143922 (patch)
tree1cd696c663d9fd26b09e0611c3046d5be9cd57d4 /pp.c
parent82d57a628cbdfec7d17606e2fd25bc46f0713b89 (diff)
downloadperl-10b53e54b35afb95d0539352073152024b143922.tar.gz
[perl #74168] Assertion failure when emitting a stricture error message
Diffstat (limited to 'pp.c')
-rw-r--r--pp.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/pp.c b/pp.c
index e4660b31f2..df8f048b2e 100644
--- a/pp.c
+++ b/pp.c
@@ -207,7 +207,7 @@ PP(pp_rv2gv)
}
else {
if (PL_op->op_private & HINT_STRICT_REFS)
- DIE(aTHX_ S_no_symref_sv, sv, (SvCUR(sv)>32 ? "..." : ""), "a symbol");
+ DIE(aTHX_ S_no_symref_sv, sv, (SvPOK(sv) && SvCUR(sv)>32 ? "..." : ""), "a symbol");
if ((PL_op->op_private & (OPpLVAL_INTRO|OPpDONT_INIT_GV))
== OPpDONT_INIT_GV) {
/* We are the target of a coderef assignment. Return
@@ -237,7 +237,7 @@ Perl_softref2xv(pTHX_ SV *const sv, const char *const what,
if (PL_op->op_private & HINT_STRICT_REFS) {
if (SvOK(sv))
- Perl_die(aTHX_ S_no_symref_sv, sv, (SvCUR(sv)>32 ? "..." : ""), what);
+ Perl_die(aTHX_ S_no_symref_sv, sv, (SvPOK(sv) && SvCUR(sv)>32 ? "..." : ""), what);
else
Perl_die(aTHX_ PL_no_usym, what);
}