2008/12/28 Henri Verbeet <hverbeet(a)gmail.com>:
+ while (received < data_size) + { + ret = pgnutls_record_recv(ctx->session, data + received, data_size - received); + if (ret < 0) + { + if (ret == GNUTLS_E_AGAIN) + { + if (!received)
Shouldn't this be "if (received == data_size)"?
+ { + pgnutls_perror(ret); + HeapFree(GetProcessHeap(), 0, data); + TRACE("Returning SEC_E_INCOMPLETE_MESSAGE\n"); + return SEC_E_INCOMPLETE_MESSAGE; + } + break; + } + else + { + pgnutls_perror(ret); + HeapFree(GetProcessHeap(), 0, data); + ERR("Returning SEC_E_INTERNAL_ERROR\n"); + return SEC_E_INTERNAL_ERROR; + } + } + received += ret; + }
-- Rob Shearman