gcs/builder: skip zero nil outputs scripts

This commit is contained in:
Olaoluwa Osuntokun 2018-06-14 20:44:12 -07:00
parent 46d39f9c2c
commit 7eb98d5700

View file

@ -331,6 +331,10 @@ func BuildBasicFilter(block *wire.MsgBlock, prevOutScripts [][]byte) (*gcs.Filte
// For each output in a transaction, we'll add each of the // For each output in a transaction, we'll add each of the
// individual data pushes within the script. // individual data pushes within the script.
for _, txOut := range tx.TxOut { for _, txOut := range tx.TxOut {
if len(txOut.PkScript) == 0 {
continue
}
// In order to allow the filters to later be committed // In order to allow the filters to later be committed
// to within an OP_RETURN output, we ignore all // to within an OP_RETURN output, we ignore all
// OP_RETURNs to avoid a circular dependency. // OP_RETURNs to avoid a circular dependency.
@ -346,6 +350,10 @@ func BuildBasicFilter(block *wire.MsgBlock, prevOutScripts [][]byte) (*gcs.Filte
// In the second pass, we'll also add all the prevOutScripts // In the second pass, we'll also add all the prevOutScripts
// individually as elements. // individually as elements.
for _, prevScript := range prevOutScripts { for _, prevScript := range prevOutScripts {
if len(prevScript) == 0 {
continue
}
b.AddEntry(prevScript) b.AddEntry(prevScript)
} }