Skip to content

Commit 901ddab

Browse files
authored
Merge pull request #9534 from rlm2002/coverity
20251212 Coverity fix for CID 524467
2 parents b9368d7 + 27b5ac9 commit 901ddab

File tree

1 file changed

+38
-21
lines changed

1 file changed

+38
-21
lines changed

tests/api.c

Lines changed: 38 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -40476,33 +40476,50 @@ static int test_tls_multi_handshakes_one_record(void)
4047640476
rh = (RecordLayerHeader*)(test_ctx.c_buff);
4047740477
len = &rh->length[0];
4047840478
ato16((const byte*)len, &recLen);
40479-
XMEMCPY(buff, test_ctx.c_buff, RECORD_HEADER_SZ + recLen);
40480-
newRecIdx = idx = RECORD_HEADER_SZ + recLen;
40481-
/* Combine server handshake msgs into one record */
40482-
while (idx < test_ctx.c_len) {
4048340479

40484-
rh = (RecordLayerHeader*)(test_ctx.c_buff + idx);
40485-
len = &rh->length[0];
40480+
ExpectIntLE(RECORD_HEADER_SZ + recLen, (int)sizeof(buff));
40481+
ExpectIntLE(RECORD_HEADER_SZ + recLen, test_ctx.c_len);
4048640482

40487-
ato16((const byte*)len, &recLen);
40488-
idx += RECORD_HEADER_SZ;
40483+
if (EXPECT_SUCCESS()) {
40484+
XMEMCPY(buff, test_ctx.c_buff, RECORD_HEADER_SZ + recLen);
40485+
newRecIdx = idx = RECORD_HEADER_SZ + recLen;
40486+
/* Combine server handshake msgs into one record */
40487+
while (idx < test_ctx.c_len) {
4048940488

40490-
XMEMCPY(buff + newRecIdx, test_ctx.c_buff + idx,
40491-
(size_t)recLen);
40489+
rh = (RecordLayerHeader*)(test_ctx.c_buff + idx);
40490+
len = &rh->length[0];
4049240491

40493-
newRecIdx += recLen;
40494-
idx += recLen;
40495-
}
40496-
rh = (RecordLayerHeader*)(buff);
40497-
len = &rh->length[0];
40498-
c16toa((word16)newRecIdx - RECORD_HEADER_SZ, len);
40499-
test_memio_clear_buffer(&test_ctx, 1);
40500-
test_memio_inject_message(&test_ctx, 1, (const char*)buff, newRecIdx);
40492+
ato16((const byte*)len, &recLen);
40493+
ExpectIntLE(idx + RECORD_HEADER_SZ + recLen, test_ctx.c_len);
40494+
ExpectIntLE(newRecIdx + recLen, (int)sizeof(buff));
4050140495

40502-
ExpectIntEQ(wolfSSL_connect(ssl_c), -1);
40503-
ExpectIntEQ(wolfSSL_get_error(ssl_c, -1), WOLFSSL_ERROR_WANT_READ);
40496+
if (!EXPECT_SUCCESS()) {
40497+
break;
40498+
}
40499+
40500+
idx += RECORD_HEADER_SZ;
40501+
40502+
XMEMCPY(buff + newRecIdx, test_ctx.c_buff + idx,
40503+
(size_t)recLen);
40504+
40505+
newRecIdx += recLen;
40506+
idx += recLen;
40507+
}
40508+
if (EXPECT_SUCCESS()) {
40509+
rh = (RecordLayerHeader*)(buff);
40510+
len = &rh->length[0];
40511+
c16toa((word16)newRecIdx - RECORD_HEADER_SZ, len);
40512+
test_memio_clear_buffer(&test_ctx, 1);
40513+
test_memio_inject_message(&test_ctx, 1, (const char*)buff,
40514+
newRecIdx);
40515+
40516+
ExpectIntEQ(wolfSSL_connect(ssl_c), -1);
40517+
ExpectIntEQ(wolfSSL_get_error(ssl_c, -1), WOLFSSL_ERROR_WANT_READ);
40518+
40519+
ExpectIntEQ(test_memio_do_handshake(ssl_c, ssl_s, 10, NULL), 0);
40520+
}
40521+
}
4050440522

40505-
ExpectIntEQ(test_memio_do_handshake(ssl_c, ssl_s, 10, NULL), 0);
4050640523

4050740524
wolfSSL_free(ssl_c);
4050840525
wolfSSL_free(ssl_s);

0 commit comments

Comments
 (0)