فهرست منبع

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]