Merge pull request #2702 from MDrollette/inactive-overflow

rpcserver: prevent overflow in channel count
This commit is contained in:
Olaoluwa Osuntokun authored and GitHub committed 2019-03-05 14:56:51 -08:00
commit 3be894bc28
1 file changed
+9 -4
+9 -4
View File
@@ -1779,16 +1779,21 @@ func (r *rpcServer) fetchActiveChannel(chanPoint wire.OutPoint) (
func (r *rpcServer) GetInfo(ctx context.Context,
in *lnrpc.GetInfoRequest) (*lnrpc.GetInfoResponse, error) {
var activeChannels uint32
serverPeers := r.server.Peers()
for _, serverPeer := range serverPeers {
activeChannels += uint32(len(serverPeer.ChannelSnapshots()))
}
openChannels, err := r.server.chanDB.FetchAllOpenChannels()
if err != nil {
return nil, err
}
var activeChannels uint32
for _, channel := range openChannels {
chanID := lnwire.NewChanIDFromOutPoint(&channel.FundingOutpoint)
if r.server.htlcSwitch.HasActiveLink(chanID) {
activeChannels++
}
}
inactiveChannels := uint32(len(openChannels)) - activeChannels
pendingChannels, err := r.server.chanDB.FetchPendingChannels()