Fixes an issue in cide_set.go
Function getBeginingAndEndIndices may return end index too big
This commit is contained in:
@@ -79,7 +79,7 @@ func (s *cidrSet) allocateNext() (*net.IPNet, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (s *cidrSet) getBeginingAndEndIndices(cidr *net.IPNet) (begin, end int, err error) {
|
func (s *cidrSet) getBeginingAndEndIndices(cidr *net.IPNet) (begin, end int, err error) {
|
||||||
begin, end = 0, s.maxCIDRs
|
begin, end = 0, s.maxCIDRs-1
|
||||||
cidrMask := cidr.Mask
|
cidrMask := cidr.Mask
|
||||||
maskSize, _ := cidrMask.Size()
|
maskSize, _ := cidrMask.Size()
|
||||||
|
|
||||||
|
@@ -249,7 +249,7 @@ func TestOccupy(t *testing.T) {
|
|||||||
subNetMaskSize: 16,
|
subNetMaskSize: 16,
|
||||||
subNetCIDRStr: "127.0.0.0/8",
|
subNetCIDRStr: "127.0.0.0/8",
|
||||||
expectedUsedBegin: 0,
|
expectedUsedBegin: 0,
|
||||||
expectedUsedEnd: 256,
|
expectedUsedEnd: 255,
|
||||||
expectErr: false,
|
expectErr: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -257,7 +257,7 @@ func TestOccupy(t *testing.T) {
|
|||||||
subNetMaskSize: 16,
|
subNetMaskSize: 16,
|
||||||
subNetCIDRStr: "127.0.0.0/2",
|
subNetCIDRStr: "127.0.0.0/2",
|
||||||
expectedUsedBegin: 0,
|
expectedUsedBegin: 0,
|
||||||
expectedUsedEnd: 256,
|
expectedUsedEnd: 255,
|
||||||
expectErr: false,
|
expectErr: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user