fix add a buffer to aviod goroutine leak