From 6e1c3b36bbcebf8d1478e6fed755afaf9d5b638a Mon Sep 17 00:00:00 2001 From: Brian Tiger Chow <brian.holderchow@gmail.com> Date: Fri, 19 Sep 2014 12:34:50 -0700 Subject: [PATCH] fix(bitswap) check for nil in public interface --- exchange/bitswap/bitswap.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/exchange/bitswap/bitswap.go b/exchange/bitswap/bitswap.go index c223addd..79f4d554 100644 --- a/exchange/bitswap/bitswap.go +++ b/exchange/bitswap/bitswap.go @@ -1,6 +1,8 @@ package bitswap import ( + "errors" + context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context" ds "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/datastore.go" @@ -87,6 +89,9 @@ func (bs *bitswap) Block(parent context.Context, k u.Key) (*blocks.Block, error) // get better guarantees. May need shared sequence numbers. bs.strategy.MessageSent(p, message) + if response == nil { + return + } bs.ReceiveMessage(ctx, p, response) }(i) } @@ -112,6 +117,12 @@ func (bs *bitswap) HasBlock(ctx context.Context, blk blocks.Block) error { func (bs *bitswap) ReceiveMessage( ctx context.Context, p *peer.Peer, incoming bsmsg.BitSwapMessage) ( *peer.Peer, bsmsg.BitSwapMessage, error) { + if p == nil { + return nil, nil, errors.New("Received nil Peer") + } + if incoming == nil { + return nil, nil, errors.New("Received nil Message") + } bs.strategy.MessageReceived(p, incoming) -- GitLab