summaryrefslogtreecommitdiff
path: root/pp.c
diff options
context:
space:
mode:
Diffstat (limited to 'pp.c')
-rw-r--r--pp.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/pp.c b/pp.c
index c6bb0a53ab..5371f31d80 100644
--- a/pp.c
+++ b/pp.c
@@ -563,9 +563,7 @@ PP(pp_bless)
STRLEN len;
char *ptr;
- if (ssv && SvGMAGICAL(ssv))
- mg_get(ssv);
- if (SvROK(ssv))
+ if (ssv && !SvGMAGICAL(ssv) && !SvAMAGIC(ssv) && SvROK(ssv))
Perl_croak(aTHX_ "Attempt to bless into a reference");
ptr = SvPV(ssv,len);
if (ckWARN(WARN_MISC) && len == 0)