Skip to content

Commit 204eb96

Browse files
committed
src/ssl.c: fix overflow/overrun defect in wolfSSL_writev().
1 parent 014f55f commit 204eb96

1 file changed

Lines changed: 5 additions & 3 deletions

File tree

src/ssl.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11549,15 +11549,17 @@ int wolfSSL_set_compression(WOLFSSL* ssl)
1154911549
#endif
1155011550
byte* myBuffer = staticBuffer;
1155111551
int dynamic = 0;
11552-
word32 sending = 0;
11553-
int idx = 0;
11552+
size_t sending = 0;
11553+
size_t idx = 0;
1155411554
int i;
1155511555
int ret;
1155611556

1155711557
WOLFSSL_ENTER("wolfSSL_writev");
1155811558

1155911559
for (i = 0; i < iovcnt; i++)
11560-
sending += iov[i].iov_len;
11560+
if (! WC_SAFE_SUM_UNSIGNED(size_t, sending, iov[i].iov_len,
11561+
sending))
11562+
return BUFFER_E;
1156111563

1156211564
if (sending > sizeof(staticBuffer)) {
1156311565
myBuffer = (byte*)XMALLOC(sending, ssl->heap,

0 commit comments

Comments
 (0)