diff options
Diffstat (limited to 'hv.c')
-rw-r--r-- | hv.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -3189,7 +3189,7 @@ Perl_refcounted_he_fetch_pvn(pTHX_ const struct refcounted_he *chain, Perl_croak(aTHX_ "panic: refcounted_he_fetch_pvn bad flags %"UVxf, (UV)flags); if (!chain) - return &PL_sv_placeholder; + goto ret; if (flags & REFCOUNTED_HE_KEY_UTF8) { /* For searching purposes, canonicalise to Latin-1 where possible. */ const char *keyend = keypv + keylen, *p; @@ -3249,6 +3249,7 @@ Perl_refcounted_he_fetch_pvn(pTHX_ const struct refcounted_he *chain, return sv_2mortal(refcounted_he_value(chain)); } } + ret: return flags & REFCOUNTED_HE_EXISTS ? NULL : &PL_sv_placeholder; } |