rpcserver: prevent overflow in channel count
This commit is contained in:
parent
a6cf6f4237
commit
1664617874
13
rpcserver.go
13
rpcserver.go
|
@ -1779,16 +1779,21 @@ func (r *rpcServer) fetchActiveChannel(chanPoint wire.OutPoint) (
|
||||||
func (r *rpcServer) GetInfo(ctx context.Context,
|
func (r *rpcServer) GetInfo(ctx context.Context,
|
||||||
in *lnrpc.GetInfoRequest) (*lnrpc.GetInfoResponse, error) {
|
in *lnrpc.GetInfoRequest) (*lnrpc.GetInfoResponse, error) {
|
||||||
|
|
||||||
var activeChannels uint32
|
|
||||||
serverPeers := r.server.Peers()
|
serverPeers := r.server.Peers()
|
||||||
for _, serverPeer := range serverPeers {
|
|
||||||
activeChannels += uint32(len(serverPeer.ChannelSnapshots()))
|
|
||||||
}
|
|
||||||
|
|
||||||
openChannels, err := r.server.chanDB.FetchAllOpenChannels()
|
openChannels, err := r.server.chanDB.FetchAllOpenChannels()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
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
|
inactiveChannels := uint32(len(openChannels)) - activeChannels
|
||||||
|
|
||||||
pendingChannels, err := r.server.chanDB.FetchPendingChannels()
|
pendingChannels, err := r.server.chanDB.FetchPendingChannels()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user