In perl.git, the branch blead has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/78e4f28fec5bf0c2d3d8edbbd73ac68db3308f05?hp=aa9ac6cf00899a6f55881d4ca6c1214215dc83ee>

- Log -----------------------------------------------------------------
commit 78e4f28fec5bf0c2d3d8edbbd73ac68db3308f05
Author: David Mitchell <[email protected]>
Date:   Mon Feb 27 11:44:12 2017 +0000

    S_gv_stashsvpvn_cached(): add asserts
    
    RT #130344
    
    PL_stashcache holds SvIOK() scalars whose integer values are hidden
    pointers to HVs. Add asserts that this is indeed the case.
-----------------------------------------------------------------------

Summary of changes:
 gv.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/gv.c b/gv.c
index 8c85614386..d32a9c5399 100644
--- a/gv.c
+++ b/gv.c
@@ -1496,7 +1496,14 @@ S_gv_stashsvpvn_cached(pTHX_ SV *namesv, const char 
*name, U32 namelen, I32 flag
         (flags & SVf_UTF8) ? HVhek_UTF8 : 0, 0, NULL, 0
     );
 
-    if (he) return INT2PTR(HV*,SvIVX(HeVAL(he)));
+    if (he) {
+        SV *sv = HeVAL(he);
+        HV *hv;
+        assert(SvIOK(sv));
+        hv = INT2PTR(HV*, SvIVX(sv));
+        assert(SvTYPE(hv) == SVt_PVHV);
+        return hv;
+    }
     else if (flags & GV_CACHE_ONLY) return NULL;
 
     if (namesv) {

--
Perl5 Master Repository

Reply via email to