Skip to content

Commit 246a70e

Browse files
committed
Fix grow() function
1 parent deab2f4 commit 246a70e

1 file changed

Lines changed: 7 additions & 3 deletions

File tree

fcgiclient/fcgiclient.go

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -197,12 +197,16 @@ func (this *FCGIClient) writePairs(recType uint8, reqId uint16, pairs map[string
197197
}
198198

199199
func grow(b []byte, s int, adjustLen bool) []byte {
200-
if s < cap(b)-len(b) {
201-
g := cap(b) >> 1
200+
needed := len(b) + s
201+
nc := cap(b)
202+
for needed > nc {
203+
g := nc >> 1
202204
if s < 16 || g == 0 {
203205
g = 16
204206
}
205-
nc := cap(b) + g
207+
nc += g
208+
}
209+
if nc > cap(b) {
206210
nb := make([]byte, len(b), nc)
207211
copy(nb, b)
208212
b = nb

0 commit comments

Comments
 (0)