diff options
Diffstat (limited to '')
| -rw-r--r-- | src/lib/libcrypto/ec/eck_prn.c | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/src/lib/libcrypto/ec/eck_prn.c b/src/lib/libcrypto/ec/eck_prn.c index 9bf05bb38c..598b83835f 100644 --- a/src/lib/libcrypto/ec/eck_prn.c +++ b/src/lib/libcrypto/ec/eck_prn.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: eck_prn.c,v 1.23 2023/07/02 13:48:47 tb Exp $ */ | 1 | /* $OpenBSD: eck_prn.c,v 1.24 2023/07/02 14:53:18 tb Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Written by Nils Larsch for the OpenSSL project. | 3 | * Written by Nils Larsch for the OpenSSL project. |
| 4 | */ | 4 | */ |
| @@ -203,7 +203,9 @@ ecpk_print_explicit_parameters(BIO *bp, const EC_GROUP *group, int off) | |||
| 203 | BIGNUM *p, *a, *b, *order, *cofactor; | 203 | BIGNUM *p, *a, *b, *order, *cofactor; |
| 204 | BIGNUM *gen = NULL; | 204 | BIGNUM *gen = NULL; |
| 205 | const EC_POINT *generator; | 205 | const EC_POINT *generator; |
| 206 | const unsigned char *conversion, *seed; | 206 | const char *conversion_form; |
| 207 | char *conversion = NULL; | ||
| 208 | const unsigned char *seed; | ||
| 207 | size_t seed_len; | 209 | size_t seed_len; |
| 208 | unsigned char *buffer = NULL; | 210 | unsigned char *buffer = NULL; |
| 209 | size_t buf_len, i; | 211 | size_t buf_len, i; |
| @@ -286,13 +288,17 @@ ecpk_print_explicit_parameters(BIO *bp, const EC_GROUP *group, int off) | |||
| 286 | goto err; | 288 | goto err; |
| 287 | 289 | ||
| 288 | if (form == POINT_CONVERSION_COMPRESSED) | 290 | if (form == POINT_CONVERSION_COMPRESSED) |
| 289 | conversion = "Generator (compressed):"; | 291 | conversion_form = "compressed"; |
| 290 | else if (form == POINT_CONVERSION_UNCOMPRESSED) | 292 | else if (form == POINT_CONVERSION_UNCOMPRESSED) |
| 291 | conversion = "Generator (uncompressed):"; | 293 | conversion_form = "compressed"; |
| 292 | else if (form == POINT_CONVERSION_HYBRID) | 294 | else if (form == POINT_CONVERSION_HYBRID) |
| 293 | conversion = "Generator (hybrid):"; | 295 | conversion_form = "hybrid"; |
| 294 | else | 296 | else |
| 295 | conversion = "Generator (unknown):"; | 297 | conversion_form = "unknown"; |
| 298 | if (asprintf(&conversion, "Generator (%s):", conversion_form) == -1) { | ||
| 299 | conversion = NULL; | ||
| 300 | goto err; | ||
| 301 | } | ||
| 296 | if (!ASN1_bn_print(bp, conversion, gen, buffer, off)) | 302 | if (!ASN1_bn_print(bp, conversion, gen, buffer, off)) |
| 297 | goto err; | 303 | goto err; |
| 298 | 304 | ||
| @@ -311,6 +317,7 @@ err: | |||
| 311 | BN_CTX_end(ctx); | 317 | BN_CTX_end(ctx); |
| 312 | BN_CTX_free(ctx); | 318 | BN_CTX_free(ctx); |
| 313 | free(buffer); | 319 | free(buffer); |
| 320 | free(conversion); | ||
| 314 | 321 | ||
| 315 | return ret; | 322 | return ret; |
| 316 | } | 323 | } |
