Skip to content

Commit

Permalink
eth/filter: check nil pointer when unsubscribe
Browse files Browse the repository at this point in the history
  • Loading branch information
rjl493456442 committed May 4, 2018
1 parent 16f3c31 commit cf133fe
Showing 1 changed file with 18 additions and 6 deletions.
24 changes: 18 additions & 6 deletions eth/filters/filter_system.go
Original file line number Diff line number Diff line change
Expand Up @@ -428,12 +428,24 @@ func (es *EventSystem) eventLoop() {
chainEvSub = es.backend.SubscribeChainEvent(chainEvCh)
)

// Unsubscribe all events
defer sub.Unsubscribe()
defer txSub.Unsubscribe()
defer rmLogsSub.Unsubscribe()
defer logsSub.Unsubscribe()
defer chainEvSub.Unsubscribe()
defer func() {
// Unsubscribe all events
if sub != nil {
sub.Unsubscribe()
}
if txSub != nil {
txSub.Unsubscribe()
}
if rmLogsSub != nil {
rmLogsSub.Unsubscribe()
}
if logsSub != nil {
logsSub.Unsubscribe()
}
if chainEvSub != nil {
chainEvSub.Unsubscribe()
}
}()

for i := UnknownSubscription; i < LastIndexSubscription; i++ {
index[i] = make(map[rpc.ID]*subscription)
Expand Down

0 comments on commit cf133fe

Please sign in to comment.