Bladeren bron

Correct valuesSorter.Less function for uintptr.

The function sort be sorting the uintptr itself, not the address of it.
Also, the previous code could easily panic on an unaddressable
reflect.Value since it was trying to take an address.
Dave Collins 12 jaren geleden
bovenliggende
commit
3b4a2055ce
1 gewijzigde bestanden met toevoegingen van 1 en 1 verwijderingen
  1. 1 1
      spew/common.go

+ 1 - 1
spew/common.go

@@ -284,7 +284,7 @@ func (s *valuesSorter) Less(i, j int) bool {
 	case reflect.String:
 	case reflect.String:
 		return s.values[i].String() < s.values[j].String()
 		return s.values[i].String() < s.values[j].String()
 	case reflect.Uintptr:
 	case reflect.Uintptr:
-		return s.values[i].UnsafeAddr() < s.values[j].UnsafeAddr()
+		return s.values[i].Uint() < s.values[j].Uint()
 	}
 	}
 	return s.values[i].String() < s.values[j].String()
 	return s.values[i].String() < s.values[j].String()
 }
 }