Skip to content

Commit 5a3a6a3

Browse files
Zeroize SFTP file payload buffers before freeing
1 parent c9f877d commit 5a3a6a3

1 file changed

Lines changed: 4 additions & 2 deletions

File tree

src/wolfsftp.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -793,12 +793,13 @@ static int wolfSSH_SFTP_buffer_read(WOLFSSH* ssh, WS_SFTP_BUFFER* buffer,
793793
static void wolfSSH_SFTP_buffer_free(WOLFSSH* ssh, WS_SFTP_BUFFER* buffer)
794794
{
795795
if (ssh != NULL && buffer != NULL) {
796-
buffer->idx = 0;
797-
buffer->sz = 0;
798796
if (buffer->data != NULL) {
797+
ForceZero(buffer->data, buffer->sz);
799798
WFREE(buffer->data, ssh->ctx->heap, DYNTYPE_BUFFER);
800799
buffer->data = NULL;
801800
}
801+
buffer->idx = 0;
802+
buffer->sz = 0;
802803
}
803804
}
804805

@@ -1424,6 +1425,7 @@ static void wolfSSH_SFTP_RecvSetSend(WOLFSSH* ssh, byte* buf, int sz)
14241425

14251426
/* free up existing data if needed */
14261427
if (buf != state->buffer.data && state->buffer.data != NULL) {
1428+
ForceZero(state->buffer.data, state->buffer.sz);
14271429
WFREE(state->buffer.data, ssh->ctx->heap, DYNTYPE_BUFFER);
14281430
state->buffer.data = NULL;
14291431
}

0 commit comments

Comments
 (0)