Skip to content

Commit 7008899

Browse files
authored
Merge pull request #73 from fufuok/fix-IsIPv4
Fix IPv4 boundary checking
2 parents dbfbf0b + 7ca5fab commit 7008899

File tree

2 files changed

+3
-1
lines changed

2 files changed

+3
-1
lines changed

ips.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ func IsIPv4(s string) bool {
2121

2222
for ci = 0; ci < len(s) && '0' <= s[ci] && s[ci] <= '9'; ci++ {
2323
n = n*10 + int(s[ci]-'0')
24-
if n >= 0xFF {
24+
if n > 0xFF {
2525
return false
2626
}
2727
}

ips_test.go

+2
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import (
1414
func Test_IsIPv4(t *testing.T) {
1515
t.Parallel()
1616

17+
require.Equal(t, true, IsIPv4("255.255.255.255"))
1718
require.Equal(t, true, IsIPv4("174.23.33.100"))
1819
require.Equal(t, true, IsIPv4("127.0.0.1"))
1920
require.Equal(t, true, IsIPv4("0.0.0.0"))
@@ -30,6 +31,7 @@ func Test_IsIPv4(t *testing.T) {
3031
require.Equal(t, false, IsIPv4("189.12.34.260"))
3132
require.Equal(t, false, IsIPv4("189.12.260.260"))
3233
require.Equal(t, false, IsIPv4("189.260.260.260"))
34+
require.Equal(t, false, IsIPv4("255.255.255.256"))
3335
require.Equal(t, false, IsIPv4("999.999.999.999"))
3436
require.Equal(t, false, IsIPv4("9999.9999.9999.9999"))
3537

0 commit comments

Comments
 (0)