Автор: Роман кислухин 
При вызове функции InitializeSecurityContext вылетает эта ошибка: The buffers supplied to a function was too small. (0x80090321)
В документации ничего пр эту ошибку не говорится. В интернете ничего не нагуглил. Есть идеи, откуда эта ошибка и как с ней бороться?
Ошибка воспроизводится только на одной машине у заказчика.
CSP (Type:75) v3.6.5365 KC1 Release Ver:3.6.7777 OS:Linux CPU:AMD64 FastCode:READY:AVX.
Это уже в процессе хэндшейка?
Там примерно так-
char *client_buffer=new char[CLIENT_BUFSIZE];
int client_ptr=0;
DWORD request_flags;
DWORD response_flags;
TimeStamp expiration;
SecBufferDesc in_buffer_desc;
PSecBuffer in_buffers=new SecBuffer[2];
SecBufferDesc out_buffer_desc;
PSecBuffer out_buffers=new SecBuffer;
request_flags=ISC_REQ_SEQUENCE_DETECT | ISC_REQ_REPLAY_DETECT | ISC_REQ_CONFIDENTIALITY |
ISC_RET_EXTENDED_ERROR | ISC_REQ_ALLOCATE_MEMORY | ISC_REQ_STREAM;
while(result==SEC_I_CONTINUE_NEEDED || result == SEC_E_INCOMPLETE_MESSAGE)
...
bytes_rcvd=serverConnection->Recv(&client_buffer[client_ptr],CLIENT_BUFSIZE-client_ptr);
...
//// input
in_buffers[0].pvBuffer=client_buffer;
in_buffers[0].cbBuffer=client_ptr;
in_buffers[0].BufferType=SECBUFFER_TOKEN;
in_buffers[1].pvBuffer=NULL;
in_buffers[1].cbBuffer=0;
in_buffers[1].BufferType=SECBUFFER_EMPTY;
in_buffer_desc.cBuffers=2;
in_buffer_desc.pBuffers=in_buffers;
in_buffer_desc.ulVersion=SECBUFFER_VERSION;
//// output
out_buffers->pvBuffer=NULL;
out_buffers->BufferType=SECBUFFER_TOKEN;
out_buffers->cbBuffer=0;
out_buffer_desc.cBuffers=1;
out_buffer_desc.pBuffers=out_buffers;
out_buffer_desc.ulVersion=SECBUFFER_VERSION;
result=InitializeSecurityContext(clientCredentials,clientContext,NULL,request_flags,0,
SECURITY_NATIVE_DREP,&in_buffer_desc,0,NULL/*clientContext*/,&out_buffer_desc,&response_flags,&expiration);
CLIENT_BUFSIZE в 32к достаточно.
Ошибка обычно появляется, когда пакет не помещается во входной буфер.