The type information validation followed the specification in rejecting fully descriptive and "none" kinds of type information, but this check does not account for the possibility of invalid type information. In some cases, that leads to an abort. This can be triggered by bad discovery data.
This commit whitelists the allowed forms (only hashes). The spec is a bit vague on how that works out for recursive top-level types; they are now simply rejected, which is no big deal considering that Cyclone doesn't currently support recursive types in its type library anyway.
The type information validation followed the specification in rejecting fully descriptive and "none" kinds of type information, but this check does not account for the possibility of invalid type information. In some cases, that leads to an abort. This can be triggered by bad discovery data.
This commit whitelists the allowed forms (only hashes). The spec is a bit vague on how that works out for recursive top-level types; they are now simply rejected, which is no big deal considering that Cyclone doesn't currently support recursive types in its type library anyway.