summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortb <>2021-04-04 19:32:26 +0000
committertb <>2021-04-04 19:32:26 +0000
commit4e9445f74412258ff8fc9711e66c08b7ac630f1a (patch)
tree3d543785568110f54f98865589e57a15b0259efe /src
parentc4bd1aa16e4e3bcce1a482e636d7dadd7b0de212 (diff)
downloadopenbsd-4e9445f74412258ff8fc9711e66c08b7ac630f1a.tar.gz
openbsd-4e9445f74412258ff8fc9711e66c08b7ac630f1a.tar.bz2
openbsd-4e9445f74412258ff8fc9711e66c08b7ac630f1a.zip
Don't leak key and dh in the error path.
Diffstat (limited to 'src')
-rw-r--r--src/regress/lib/libcrypto/bn/mont/mont.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/regress/lib/libcrypto/bn/mont/mont.c b/src/regress/lib/libcrypto/bn/mont/mont.c
index 30d5317b64..83d56e5375 100644
--- a/src/regress/lib/libcrypto/bn/mont/mont.c
+++ b/src/regress/lib/libcrypto/bn/mont/mont.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: mont.c,v 1.2 2014/10/22 13:23:05 jsing Exp $ */ 1/* $OpenBSD: mont.c,v 1.3 2021/04/04 19:32:26 tb Exp $ */
2 2
3/* 3/*
4 * Copyright (c) 2014 Miodrag Vallat. 4 * Copyright (c) 2014 Miodrag Vallat.
@@ -34,8 +34,9 @@
34int 34int
35main(int argc, char *argv[]) 35main(int argc, char *argv[])
36{ 36{
37 DH *dh; 37 DH *dh = NULL;
38 unsigned char *key, r[32 + 16 * 8]; 38 unsigned char *key = NULL;
39 unsigned char r[32 + 16 * 8];
39 size_t privsz; 40 size_t privsz;
40 41
41 arc4random_buf(r, sizeof(r)); 42 arc4random_buf(r, sizeof(r));
@@ -67,7 +68,9 @@ main(int argc, char *argv[])
67 68
68 return 0; 69 return 0;
69 70
70err: 71 err:
71 ERR_print_errors_fp(stderr); 72 ERR_print_errors_fp(stderr);
73 free(key);
74 DH_free(dh);
72 return 1; 75 return 1;
73} 76}