Преглед изворни кода

Fix mask alignment

Fix incorrect computation of buffer alignment in maskBytes. With this
change, all word operations on the buffer are aligned on word
boundaries.
Gary Burd пре 10 година
родитељ
комит
343fff4c5c
1 измењених фајлова са 1 додато и 1 уклоњено
  1. 1 1
      mask.go

+ 1 - 1
mask.go

@@ -28,7 +28,7 @@ func maskBytes(key [4]byte, pos int, b []byte) int {
 	}
 
 	// Mask one byte at a time to word boundary.
-	if n := int(uintptr(unsafe.Pointer(&b))) % wordSize; n != 0 {
+	if n := int(uintptr(unsafe.Pointer(&b[0]))) % wordSize; n != 0 {
 		n = wordSize - n
 		for i := range b[:n] {
 			b[i] ^= key[pos&3]