From 46aa7db5fde007ef5aee08862a394aa2039b4fee Mon Sep 17 00:00:00 2001 From: zelig Date: Wed, 13 May 2015 21:49:36 +0200 Subject: [PATCH] fix nil source on chunk --- bzz/dpa.go | 2 +- bzz/netstore.go | 4 ++-- eth/backend.go | 6 +----- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/bzz/dpa.go b/bzz/dpa.go index 73354bbf03..401585b087 100644 --- a/bzz/dpa.go +++ b/bzz/dpa.go @@ -61,7 +61,7 @@ type Chunk struct { req *requestStatus // wg *sync.WaitGroup dbStored chan bool - source peer + source *peer } type ChunkStore interface { diff --git a/bzz/netstore.go b/bzz/netstore.go index 6960b9f288..6eda3d4f5f 100644 --- a/bzz/netstore.go +++ b/bzz/netstore.go @@ -114,7 +114,7 @@ func (self *NetStore) addStoreRequest(req *storeRequestMsgData) { } else { return } - chunk.source = req.peer + chunk.source = &req.peer self.put(chunk) } @@ -295,7 +295,7 @@ func (self *NetStore) store(chunk *Chunk) { Id: uint64(id), } for _, peer := range self.hive.getPeers(chunk.Key, 0) { - if peer.Addr() != chunk.source.Addr() { + if chunk.source == nil || peer.Addr() != chunk.source.Addr() { go peer.store(req) } } diff --git a/eth/backend.go b/eth/backend.go index 98bf39408e..8e8bdb1314 100644 --- a/eth/backend.go +++ b/eth/backend.go @@ -468,11 +468,7 @@ func (s *Ethereum) Start() error { if s.DPA != nil { s.DPA.Start() - selfNode := s.net.Self() - if selfNode == nil { - panic("self is nil") - } - s.netStore.Start(selfNode) + s.netStore.Start(s.net.Self()) go bzz.StartHttpServer(s.DPA) }