CTransaction.stream_deserialize allows empty witness record when witness is signalled
Opened this issue · 0 comments
dgpv commented
in CTransaction.stream_deserialize()
, if it detects that witness is signalled, it just tries to deserialize the witness and does not check if it is null. Core has a check in this case:
if (!tx.HasWitness()) {
/* It's illegal to encode witnesses when all witness stacks are empty. */
throw std::ios_base::failure("Superfluous witness record");
}