瀏覽代碼

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]