Ver Fonte

RootIsShared() - Fix array out of bounds error

This happened for me on the last (empty) line, but better safe than sorry
so we make the check general.
Alexander Larsson há 12 anos atrás
pai
commit
d478a4bb54
1 ficheiros alterados com 1 adições e 1 exclusões
  1. 1 1
      utils.go

+ 1 - 1
utils.go

@@ -173,7 +173,7 @@ func RootIsShared() bool {
 	if data, err := ioutil.ReadFile("/proc/self/mountinfo"); err == nil {
 	if data, err := ioutil.ReadFile("/proc/self/mountinfo"); err == nil {
 		for _, line := range strings.Split(string(data), "\n") {
 		for _, line := range strings.Split(string(data), "\n") {
 			cols := strings.Split(line, " ")
 			cols := strings.Split(line, " ")
-			if cols[3] == "/" && cols[4] == "/" {
+			if len(cols) >= 6 && cols[3] == "/" && cols[4] == "/" {
 				return strings.HasPrefix(cols[6], "shared")
 				return strings.HasPrefix(cols[6], "shared")
 			}
 			}
 		}
 		}