Change 29521 by [EMAIL PROTECTED] on 2006/12/11 21:15:06
Assert that BmRARE() BmPREVIOUS() and BmUSEFUL() are only called on
valid PVBMs.
Affected files ...
... //depot/perl/sv.h#292 edit
Differences ...
==== //depot/perl/sv.h#292 (text) ====
Index: perl/sv.h
--- perl/sv.h#291~29518~ 2006-12-11 10:26:31.000000000 -0800
+++ perl/sv.h 2006-12-11 13:15:06.000000000 -0800
@@ -1314,17 +1314,20 @@
# define BmRARE(sv) \
(*({ SV *const _svi = (SV *) (sv); \
assert(SvTYPE(_svi) == SVt_PVBM); \
+ assert(SvVALID(_svi)); \
&(((XPVBM*) SvANY(_svi))->xbm_rare); \
}))
# define BmUSEFUL(sv) \
(*({ SV *const _svi = (SV *) (sv); \
assert(SvTYPE(_svi) == SVt_PVBM); \
+ assert(SvVALID(_svi)); \
assert(!SvIOK(_svi)); \
&(((XPVBM*) SvANY(_svi))->xiv_u.xivu_i32); \
}))
# define BmPREVIOUS(sv) \
(*({ SV *const _svi = (SV *) (sv); \
assert(SvTYPE(_svi) == SVt_PVBM); \
+ assert(SvVALID(_svi)); \
&(((XPVBM*) SvANY(_svi))->xbm_previous); \
}))
#else
End of Patch.