Fix possible buffer memory overlap in _receive