diff options
Diffstat (limited to 'src/lib/libcrypto/ec/ec_lib.c')
| -rw-r--r-- | src/lib/libcrypto/ec/ec_lib.c | 17 |
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 | ||
| 253 | err: | 249 | err: |
| 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; |
