icmp: add missing attribute length check

Fixes golang/go#10951.

Change-Id: I94bf948ce74f8289008930701b2825ffcf57fce1
Reviewed-on: https://go-review.googlesource.com/10378
Reviewed-by: Ian Lance Taylor <iant@golang.org>
diff --git a/icmp/interface.go b/icmp/interface.go
index 806b26b..c7bf8dd 100644
--- a/icmp/interface.go
+++ b/icmp/interface.go
@@ -174,6 +174,9 @@
 		return nil, errMessageTooShort
 	}
 	l := int(b[0])
+	if l%4 != 0 || 4 > l || l > 64 {
+		return nil, errInvalidExtension
+	}
 	var name [63]byte
 	copy(name[:], b[1:l])
 	ifi.Interface.Name = strings.Trim(string(name[:]), "\000")