Skip to content

Commit 179df42

Browse files
add sanity check before write
1 parent 697f54a commit 179df42

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

src/internal.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10109,8 +10109,13 @@ static int BundlePacket(WOLFSSH* ssh)
1010910109

1011010110
/* Add the padding */
1011110111
WLOG(WS_LOG_DEBUG, "BP: paddingSz = %u", paddingSz);
10112-
if (ssh->encryptId == ID_NONE)
10112+
if (idx + paddingSz > ssh->outputBuffer.bufferSz) {
10113+
ret = WS_BUFFER_E;
10114+
WLOG(WS_LOG_DEBUG, "BP: paddingSz was too large");
10115+
}
10116+
else if (ssh->encryptId == ID_NONE) {
1011310117
WMEMSET(output + idx, 0, paddingSz);
10118+
}
1011410119
else if (wc_RNG_GenerateBlock(ssh->rng, output + idx, paddingSz) < 0) {
1011510120
ret = WS_CRYPTO_FAILED;
1011610121
WLOG(WS_LOG_DEBUG, "BP: failed to add padding");

0 commit comments

Comments
 (0)