mirror of https://github.com/wolfSSL/wolfssl.git
Merge pull request #8358 from julek-wolfssl/gh/8156-2
quic_record_append: return correct codepull/8362/head
commit
eb261836a7
|
@ -154,10 +154,7 @@ static int quic_record_append(WOLFSSL *ssl, QuicRecord *qr, const uint8_t *data,
|
|||
}
|
||||
}
|
||||
|
||||
if (quic_record_complete(qr) || len == 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (!quic_record_complete(qr) && len != 0) {
|
||||
missing = qr->len - qr->end;
|
||||
if (len > missing) {
|
||||
len = missing;
|
||||
|
@ -165,6 +162,7 @@ static int quic_record_append(WOLFSSL *ssl, QuicRecord *qr, const uint8_t *data,
|
|||
XMEMCPY(qr->data + qr->end, data, len);
|
||||
qr->end += (word32)len;
|
||||
consumed += len;
|
||||
}
|
||||
|
||||
cleanup:
|
||||
*pconsumed = (ret == WOLFSSL_SUCCESS) ? consumed : 0;
|
||||
|
|
|
@ -287,7 +287,10 @@ static int test_provide_quic_data(void) {
|
|||
*/
|
||||
AssertNotNull(ssl = wolfSSL_new(ctx));
|
||||
len = fake_record(1, 100, lbuffer);
|
||||
AssertTrue(provide_data(ssl, wolfssl_encryption_initial, lbuffer, len, 0));
|
||||
AssertTrue(provide_data(ssl, wolfssl_encryption_initial, lbuffer, 1, 0));
|
||||
AssertTrue(provide_data(ssl, wolfssl_encryption_initial, lbuffer+1, 3, 0));
|
||||
AssertTrue(provide_data(ssl, wolfssl_encryption_initial, lbuffer+4, len, 0)
|
||||
);
|
||||
len = fake_record(2, 1523, lbuffer);
|
||||
AssertTrue(provide_data(ssl, wolfssl_encryption_handshake, lbuffer, len, 0));
|
||||
len = fake_record(2, 1, lbuffer);
|
||||
|
|
Loading…
Reference in New Issue