summaryrefslogtreecommitdiffstats
path: root/crypto/asn1
diff options
context:
space:
mode:
authorShane Lontis <shane.lontis@oracle.com>2020-09-07 17:44:38 +1000
committerShane Lontis <shane.lontis@oracle.com>2020-09-07 17:44:38 +1000
commit309e73dfe067b3b774ef6f57bf665f41373a81ca (patch)
tree8871e64a5bbf0383be950bfd55d613832a3f4b51 /crypto/asn1
parent56456c3404b0ec27f93816d951ff7a58827481f0 (diff)
Coverity Fixes
x_algor.c: Explicit null dereferenced cms_sd.c: Resource leak ts_rsp_sign.c Resource Leak extensions_srvr.c: Resourse Leak v3_alt.c: Resourse Leak pcy_data.c: Resource Leak cms_lib.c: Resource Leak drbg_lib.c: Unchecked return code Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Shane Lontis <shane.lontis@oracle.com> (Merged from https://github.com/openssl/openssl/pull/12531)
Diffstat (limited to 'crypto/asn1')
-rw-r--r--crypto/asn1/x_algor.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/crypto/asn1/x_algor.c b/crypto/asn1/x_algor.c
index e13daf849b..2046d8f3cf 100644
--- a/crypto/asn1/x_algor.c
+++ b/crypto/asn1/x_algor.c
@@ -110,13 +110,17 @@ int X509_ALGOR_copy(X509_ALGOR *dest, const X509_ALGOR *src)
if ((dest->algorithm = OBJ_dup(src->algorithm)) == NULL)
return 0;
- if (src->parameter)
+ if (src->parameter) {
+ dest->parameter = ASN1_TYPE_new();
+ if (dest->parameter == NULL)
+ return 0;
+
/* Assuming this is also correct for a BOOL.
* set does copy as a side effect.
*/
if (ASN1_TYPE_set1(dest->parameter,
- src->parameter->type, src->parameter->value.ptr) == 0)
- return 0;
-
+ src->parameter->type, src->parameter->value.ptr) == 0)
+ return 0;
+ }
return 1;
}