summaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authorStephan Mueller <smueller@chronox.de>2017-09-14 17:10:28 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-10-05 09:43:59 +0200
commit7e1b2b2db3d744f85d0c9d3ae85cbe1a6082721b (patch)
treeb6eec87ff652dab8285e7c787cf462abbf982a5e /crypto
parent29825768590ef7f180783fd7b808e69eeb687b83 (diff)
downloadlinux-stable-7e1b2b2db3d744f85d0c9d3ae85cbe1a6082721b.tar.gz
linux-stable-7e1b2b2db3d744f85d0c9d3ae85cbe1a6082721b.tar.bz2
linux-stable-7e1b2b2db3d744f85d0c9d3ae85cbe1a6082721b.zip
crypto: drbg - fix freeing of resources
commit bd6227a150fdb56e7bb734976ef6e53a2c1cb334 upstream. During the change to use aligned buffers, the deallocation code path was not updated correctly. The current code tries to free the aligned buffer pointer and not the original buffer pointer as it is supposed to. Thus, the code is updated to free the original buffer pointer and set the aligned buffer pointer that is used throughout the code to NULL. Fixes: 3cfc3b9721123 ("crypto: drbg - use aligned buffers") CC: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: Stephan Mueller <smueller@chronox.de> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'crypto')
-rw-r--r--crypto/drbg.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/crypto/drbg.c b/crypto/drbg.c
index 8cac3d31a5f8..942ddff68408 100644
--- a/crypto/drbg.c
+++ b/crypto/drbg.c
@@ -1133,10 +1133,10 @@ static inline void drbg_dealloc_state(struct drbg_state *drbg)
{
if (!drbg)
return;
- kzfree(drbg->V);
- drbg->Vbuf = NULL;
- kzfree(drbg->C);
- drbg->Cbuf = NULL;
+ kzfree(drbg->Vbuf);
+ drbg->V = NULL;
+ kzfree(drbg->Cbuf);
+ drbg->C = NULL;
kzfree(drbg->scratchpadbuf);
drbg->scratchpadbuf = NULL;
drbg->reseed_ctr = 0;