Subject: | Does not check isGV before using Gv* macros |
$ perl5.17.5 -Mblib -MClass::Load::XS -e '{package foo; use constant ISA => 1; } print
Class::Load::XS::is_class_loaded(foo)'
Assertion failed: (SvTYPE(_gvgp) == SVt_PVGV || SvTYPE(_gvgp) == SVt_PVLV), function
XS_Class__Load__XS_is_class_loaded, file lib/Class/Load/XS.xs, line 146.
Abort trap
$ perl5.17.5 -Mblib -MClass::Load::XS -e '{package foo; use constant VERSION => 1; } print
Class::Load::XS::is_class_loaded(foo)'
Assertion failed: (SvTYPE(_gvgp) == SVt_PVGV || SvTYPE(_gvgp) == SVt_PVLV), function
XS_Class__Load__XS_is_class_loaded, file lib/Class/Load/XS.xs, line 123.
Abort trap
Every instance of GvAV(HeVAL(...)) needs to be replaced with something like isGV(HeVAL(...)) &&
GvAV(HeVAL(...)). The same goes for GvSV.