summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/ec/ec_lib.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/ec/ec_lib.c')
-rw-r--r--src/lib/libcrypto/ec/ec_lib.c17
1 files changed, 6 insertions, 11 deletions
diff --git a/src/lib/libcrypto/ec/ec_lib.c b/src/lib/libcrypto/ec/ec_lib.c
index 3d8b96eb1f..47ccc614d1 100644
--- a/src/lib/libcrypto/ec/ec_lib.c
+++ b/src/lib/libcrypto/ec/ec_lib.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ec_lib.c,v 1.14 2014/07/10 22:45:57 jsing Exp $ */ 1/* $OpenBSD: ec_lib.c,v 1.15 2014/07/12 16:03:37 miod Exp $ */
2/* 2/*
3 * Originally written by Bodo Moeller for the OpenSSL project. 3 * Originally written by Bodo Moeller for the OpenSSL project.
4 */ 4 */
@@ -124,8 +124,7 @@ EC_GROUP_free(EC_GROUP * group)
124 124
125 EC_EX_DATA_free_all_data(&group->extra_data); 125 EC_EX_DATA_free_all_data(&group->extra_data);
126 126
127 if (group->generator != NULL) 127 EC_POINT_free(group->generator);
128 EC_POINT_free(group->generator);
129 BN_free(&group->order); 128 BN_free(&group->order);
130 BN_free(&group->cofactor); 129 BN_free(&group->cofactor);
131 130
@@ -148,8 +147,7 @@ EC_GROUP_clear_free(EC_GROUP * group)
148 147
149 EC_EX_DATA_clear_free_all_data(&group->extra_data); 148 EC_EX_DATA_clear_free_all_data(&group->extra_data);
150 149
151 if (group->generator != NULL) 150 EC_POINT_clear_free(group->generator);
152 EC_POINT_clear_free(group->generator);
153 BN_clear_free(&group->order); 151 BN_clear_free(&group->order);
154 BN_clear_free(&group->cofactor); 152 BN_clear_free(&group->cofactor);
155 153
@@ -200,10 +198,8 @@ EC_GROUP_copy(EC_GROUP * dest, const EC_GROUP * src)
200 return 0; 198 return 0;
201 } else { 199 } else {
202 /* src->generator == NULL */ 200 /* src->generator == NULL */
203 if (dest->generator != NULL) { 201 EC_POINT_clear_free(dest->generator);
204 EC_POINT_clear_free(dest->generator); 202 dest->generator = NULL;
205 dest->generator = NULL;
206 }
207 } 203 }
208 204
209 if (!BN_copy(&dest->order, &src->order)) 205 if (!BN_copy(&dest->order, &src->order))
@@ -252,8 +248,7 @@ EC_GROUP_dup(const EC_GROUP * a)
252 248
253err: 249err:
254 if (!ok) { 250 if (!ok) {
255 if (t) 251 EC_GROUP_free(t);
256 EC_GROUP_free(t);
257 return NULL; 252 return NULL;
258 } else 253 } else
259 return t; 254 return t;