Skip to content

Commit 46ef877

Browse files
committed
Fix naive padding
1 parent 44c9704 commit 46ef877

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

naive_conn.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,10 @@ func (p *paddingConn) writeWithPadding(writer io.Writer, data []byte) (n int, er
9191
binary.BigEndian.PutUint16(header, uint16(len(data)))
9292
header[2] = byte(paddingSize)
9393
common.Must1(buffer.Write(data))
94+
if paddingSize > 0 {
95+
padding := buffer.Extend(paddingSize)
96+
_, _ = rand.Read(padding)
97+
}
9498
_, err = writer.Write(buffer.Bytes())
9599
if err == nil {
96100
n = len(data)
@@ -112,7 +116,10 @@ func (p *paddingConn) writeBufferWithPadding(writer io.Writer, buffer *buf.Buffe
112116
header := buffer.ExtendHeader(3)
113117
binary.BigEndian.PutUint16(header, uint16(bufferLen))
114118
header[2] = byte(paddingSize)
115-
buffer.Extend(paddingSize)
119+
if paddingSize > 0 {
120+
padding := buffer.Extend(paddingSize)
121+
_, _ = rand.Read(padding)
122+
}
116123
p.writePadding++
117124
}
118125
return common.Error(writer.Write(buffer.Bytes()))

0 commit comments

Comments
 (0)