From d34161e482e87841b997fe52767d41f53c95f49d Mon Sep 17 00:00:00 2001 From: David Garske Date: Wed, 14 Apr 2021 15:10:16 -0700 Subject: [PATCH] Fix in sniffer for possible use of uninitialized length when `skipPartial` is set. ZD 12010 --- src/sniffer.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/sniffer.c b/src/sniffer.c index 372e07c59..cea5ccf25 100644 --- a/src/sniffer.c +++ b/src/sniffer.c @@ -4828,7 +4828,7 @@ static int CheckPreRecord(IpInfo* ipInfo, TcpInfo* tcpInfo, word32 length; WOLFSSL* ssl = ((*session)->flags.side == WOLFSSL_SERVER_END) ? (*session)->sslServer : (*session)->sslClient; - byte skipPartial = ((*session)->flags.side == WOLFSSL_SERVER_END) ? + byte skipPartial = ((*session)->flags.side == WOLFSSL_SERVER_END) ? (*session)->flags.srvSkipPartial : (*session)->flags.cliSkipPartial; /* remove SnifferSession on 2nd FIN or RST */ @@ -4865,7 +4865,8 @@ static int CheckPreRecord(IpInfo* ipInfo, TcpInfo* tcpInfo, /* if current partial data, add to end of partial */ /* if skipping, the data is already at the end of partial */ - if ( !skipPartial && (length = ssl->buffers.inputBuffer.length) ) { + length = ssl->buffers.inputBuffer.length; + if ( !skipPartial && length ) { Trace(PARTIAL_ADD_STR); if ( (*sslBytes + length) > ssl->buffers.inputBuffer.bufferSize) {