--- JSON-XS/XS.xs 2016/02/26 21:46:45 1.127 +++ JSON-XS/XS.xs 2016/10/07 05:18:48 1.128 @@ -320,7 +320,6 @@ return 1; else if (*pv == '0') return 0; - } return -1; @@ -335,11 +334,14 @@ scalar = SvRV (scalar); - if (SvSTASH (scalar) == bool_stash) - return 1; + if (SvTYPE (scalar) >= SVt_PVMG) + { + if (SvSTASH (scalar) == bool_stash) + return 1; - if (!SvOBJECT (scalar) && ref_bool_type (scalar) >= 0) - return 1; + if (!SvOBJECT (scalar) && ref_bool_type (scalar) >= 0) + return 1; + } return 0; }