diff --git a/icmp/helper_unix.go b/icmp/helper_unix.go
index d3c5529..ced835c 100644
--- a/icmp/helper_unix.go
+++ b/icmp/helper_unix.go
@@ -8,6 +8,7 @@
 
 import (
 	"net"
+	"strconv"
 	"syscall"
 )
 
@@ -56,7 +57,10 @@
 	if ifi, err := net.InterfaceByName(zone); err == nil {
 		return uint32(ifi.Index)
 	}
-	n, _, _ := dtoi(zone, 0)
+	n, err := strconv.Atoi(zone)
+	if err != nil {
+		return 0
+	}
 	return uint32(n)
 }
 
@@ -69,19 +73,3 @@
 	}
 	return i
 }
-
-const big = 0xFFFFFF
-
-func dtoi(s string, i0 int) (n int, i int, ok bool) {
-	n = 0
-	for i = i0; i < len(s) && '0' <= s[i] && s[i] <= '9'; i++ {
-		n = n*10 + int(s[i]-'0')
-		if n >= big {
-			return 0, i, false
-		}
-	}
-	if i == i0 {
-		return 0, i, false
-	}
-	return n, i, true
-}
