Explorar o código

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 %!s(int64=9) %!d(string=hai) anos
pai
achega
343fff4c5c
Modificáronse 1 ficheiros con 1 adicións e 1 borrados
  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]