summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tun_linux.go8
1 files changed, 7 insertions, 1 deletions
diff --git a/tun_linux.go b/tun_linux.go
index a74a9cc..446cc17 100644
--- a/tun_linux.go
+++ b/tun_linux.go
@@ -19,6 +19,7 @@ import (
"net"
"os"
"strconv"
+ "bytes"
"strings"
"syscall"
"time"
@@ -268,7 +269,12 @@ func (tun *NativeTun) Name() (string, error) {
if errno != 0 {
return "", errors.New("Failed to get name of TUN device: " + strconv.FormatInt(int64(errno), 10))
}
- tun.name = string(ifr[:])
+ nullStr := ifr[:]
+ i := bytes.IndexByte(nullStr, 0)
+ if i != -1 {
+ nullStr = nullStr[:i]
+ }
+ tun.name = string(nullStr)
return tun.name, nil
}