In amagic_call(), offset should be strictly lesser than the SV len to be allowed...
Vincent Pit [Fri, 2 Jan 2009 11:24:44 +0000 (12:24 +0100)]
gv.c

diff --git a/gv.c b/gv.c
index 5b297e4..65419bd 100644 (file)
--- a/gv.c
+++ b/gv.c
@@ -1869,7 +1869,7 @@ Perl_amagic_call(pTHX_ SV *left, SV *right, int method, int flags)
          char *pv = SvPV(lex_mask, len);
 
          /* Bit set, so this overloading operator is disabled */
-         if ( (STRLEN)offset <= len && pv[offset] & ( 1 << bit ) )
+         if ( (STRLEN)offset < len && pv[offset] & ( 1 << bit ) )
              return NULL;
       }
   }