From d2b5a9538d0d35708082cc04ecd2c71b74bb9f68 Mon Sep 17 00:00:00 2001 From: kaleb-himes Date: Thu, 8 Dec 2016 15:11:41 -0700 Subject: [PATCH] Prevent forcezero from running on freed memory --- src/sniffer.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/sniffer.c b/src/sniffer.c index d6185c200..33278f4e0 100644 --- a/src/sniffer.c +++ b/src/sniffer.c @@ -1197,6 +1197,7 @@ static int LoadKeyFile(byte** keyBuf, word32* keyBufSz, if (saveBufSz < 0) { saveBufSz = 0; free(saveBuf); + saveBuf = NULL; } else ret = 0; @@ -1205,8 +1206,10 @@ static int LoadKeyFile(byte** keyBuf, word32* keyBufSz, ForceZero(loadBuf, (word32)fileSz); free(loadBuf); - *keyBuf = saveBuf; - *keyBufSz = (word32)saveBufSz; + if (saveBuf) { + *keyBuf = saveBuf; + *keyBufSz = (word32)saveBufSz; + } } else { *keyBuf = loadBuf;