common/buf/writer.go: Fix buffered writes failing when payload exceeds remaining capacity (#6723)

Fixes https://github.com/XTLS/Xray-core/issues/5287
This commit is contained in:
Hossin Asaadi
2026-09-07 21:14:41 +00:00
committed by GitHub
parent 01a034be53
commit 6ce8dc53e7
+3 -1
View File
@@ -118,7 +118,9 @@ func (w *BufferedWriter) Write(b []byte) (int, error) {
nBytes, err := w.buffer.Write(b)
totalBytes += nBytes
if err != nil {
// ErrBufferFull means a partial write, so flush below and continue
if err != nil && err != ErrBufferFull {
return totalBytes, err
}
if !w.buffered || w.buffer.IsFull() {