summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortb <>2022-08-30 08:45:06 +0000
committertb <>2022-08-30 08:45:06 +0000
commit5e6ff032e09d476431950fd5388af09d6621fc54 (patch)
tree6204c39ca3800e13bfb9609a4103ea6d336d1d67 /src
parent611211c2c736dbc4b73bb34b0f2a0c2d0cbcecf4 (diff)
downloadopenbsd-5e6ff032e09d476431950fd5388af09d6621fc54.tar.gz
openbsd-5e6ff032e09d476431950fd5388af09d6621fc54.tar.bz2
openbsd-5e6ff032e09d476431950fd5388af09d6621fc54.zip
Plug memory leak in X509_REQ_print_ex()
CID 356353 ok jsing
Diffstat (limited to 'src')
-rw-r--r--src/lib/libcrypto/asn1/t_req.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/lib/libcrypto/asn1/t_req.c b/src/lib/libcrypto/asn1/t_req.c
index 4b27a4ddbe..81f7dd29e8 100644
--- a/src/lib/libcrypto/asn1/t_req.c
+++ b/src/lib/libcrypto/asn1/t_req.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: t_req.c,v 1.22 2022/05/09 19:19:33 jsing Exp $ */ 1/* $OpenBSD: t_req.c,v 1.23 2022/08/30 08:45:06 tb Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -102,7 +102,7 @@ X509_REQ_print_ex(BIO *bp, X509_REQ *x, unsigned long nmflags,
102 X509_REQ_INFO *ri; 102 X509_REQ_INFO *ri;
103 EVP_PKEY *pkey; 103 EVP_PKEY *pkey;
104 STACK_OF(X509_ATTRIBUTE) *sk; 104 STACK_OF(X509_ATTRIBUTE) *sk;
105 STACK_OF(X509_EXTENSION) *exts; 105 STACK_OF(X509_EXTENSION) *exts = NULL;
106 char mlch = ' '; 106 char mlch = ' ';
107 int nmindent = 0; 107 int nmindent = 0;
108 108
@@ -238,6 +238,7 @@ X509_REQ_print_ex(BIO *bp, X509_REQ *x, unsigned long nmflags,
238 goto err; 238 goto err;
239 } 239 }
240 sk_X509_EXTENSION_pop_free(exts, X509_EXTENSION_free); 240 sk_X509_EXTENSION_pop_free(exts, X509_EXTENSION_free);
241 exts = NULL;
241 } 242 }
242 } 243 }
243 244
@@ -249,6 +250,7 @@ X509_REQ_print_ex(BIO *bp, X509_REQ *x, unsigned long nmflags,
249 return (1); 250 return (1);
250 251
251 err: 252 err:
253 sk_X509_EXTENSION_pop_free(exts, X509_EXTENSION_free);
252 X509error(ERR_R_BUF_LIB); 254 X509error(ERR_R_BUF_LIB);
253 return (0); 255 return (0);
254} 256}