diff options
| author | jsing <> | 2015-09-13 14:18:27 +0000 |
|---|---|---|
| committer | jsing <> | 2015-09-13 14:18:27 +0000 |
| commit | 643a59b393f4381688cd8a6a0b64396923405256 (patch) | |
| tree | 68a9312f6fd013980386412bddd1bd076694a876 | |
| parent | 6672f6bfd10edf16a1c8fd07f82e6c777acde0b4 (diff) | |
| download | openbsd-643a59b393f4381688cd8a6a0b64396923405256.tar.gz openbsd-643a59b393f4381688cd8a6a0b64396923405256.tar.bz2 openbsd-643a59b393f4381688cd8a6a0b64396923405256.zip | |
Remove explicit NULL checks before *_free() calls and tidy some code.
Diffstat (limited to '')
| -rw-r--r-- | src/regress/lib/libcrypto/ecdh/ecdhtest.c | 50 |
1 files changed, 22 insertions, 28 deletions
diff --git a/src/regress/lib/libcrypto/ecdh/ecdhtest.c b/src/regress/lib/libcrypto/ecdh/ecdhtest.c index 100381570c..b46a3d5798 100644 --- a/src/regress/lib/libcrypto/ecdh/ecdhtest.c +++ b/src/regress/lib/libcrypto/ecdh/ecdhtest.c | |||
| @@ -221,18 +221,13 @@ err: | |||
| 221 | 221 | ||
| 222 | free(abuf); | 222 | free(abuf); |
| 223 | free(bbuf); | 223 | free(bbuf); |
| 224 | if (x_a) | 224 | BN_free(x_a); |
| 225 | BN_free(x_a); | 225 | BN_free(y_a); |
| 226 | if (y_a) | 226 | BN_free(x_b); |
| 227 | BN_free(y_a); | 227 | BN_free(y_b); |
| 228 | if (x_b) | 228 | EC_KEY_free(b); |
| 229 | BN_free(x_b); | 229 | EC_KEY_free(a); |
| 230 | if (y_b) | 230 | |
| 231 | BN_free(y_b); | ||
| 232 | if (b) | ||
| 233 | EC_KEY_free(b); | ||
| 234 | if (a) | ||
| 235 | EC_KEY_free(a); | ||
| 236 | return (ret); | 231 | return (ret); |
| 237 | } | 232 | } |
| 238 | 233 | ||
| @@ -310,11 +305,12 @@ static const unsigned char bp512_Z[] = { | |||
| 310 | static EC_KEY * | 305 | static EC_KEY * |
| 311 | mk_eckey(int nid, const unsigned char *p, size_t plen) | 306 | mk_eckey(int nid, const unsigned char *p, size_t plen) |
| 312 | { | 307 | { |
| 313 | int ok = 0; | ||
| 314 | EC_KEY *k = NULL; | 308 | EC_KEY *k = NULL; |
| 315 | BIGNUM *priv = NULL; | 309 | BIGNUM *priv = NULL; |
| 316 | EC_POINT *pub = NULL; | 310 | EC_POINT *pub = NULL; |
| 317 | const EC_GROUP *grp; | 311 | const EC_GROUP *grp; |
| 312 | int ok = 0; | ||
| 313 | |||
| 318 | k = EC_KEY_new_by_curve_name(nid); | 314 | k = EC_KEY_new_by_curve_name(nid); |
| 319 | if (!k) | 315 | if (!k) |
| 320 | goto err; | 316 | goto err; |
| @@ -333,15 +329,13 @@ mk_eckey(int nid, const unsigned char *p, size_t plen) | |||
| 333 | goto err; | 329 | goto err; |
| 334 | ok = 1; | 330 | ok = 1; |
| 335 | err: | 331 | err: |
| 336 | if (priv) | 332 | BN_clear_free(priv); |
| 337 | BN_clear_free(priv); | 333 | EC_POINT_free(pub); |
| 338 | if (pub) | 334 | if (!ok) { |
| 339 | EC_POINT_free(pub); | ||
| 340 | if (ok) | ||
| 341 | return k; | ||
| 342 | else if (k) | ||
| 343 | EC_KEY_free(k); | 335 | EC_KEY_free(k); |
| 344 | return NULL; | 336 | k = NULL; |
| 337 | } | ||
| 338 | return (k); | ||
| 345 | } | 339 | } |
| 346 | 340 | ||
| 347 | /* Known answer test: compute shared secret and check it matches | 341 | /* Known answer test: compute shared secret and check it matches |
| @@ -380,18 +374,19 @@ ecdh_kat(BIO *out, const char *cname, int nid, | |||
| 380 | if (memcmp(Ztmp, Z, Zlen)) | 374 | if (memcmp(Ztmp, Z, Zlen)) |
| 381 | goto err; | 375 | goto err; |
| 382 | rv = 1; | 376 | rv = 1; |
| 377 | |||
| 383 | err: | 378 | err: |
| 384 | if (key1) | ||
| 385 | EC_KEY_free(key1); | ||
| 386 | if (key2) | ||
| 387 | EC_KEY_free(key2); | ||
| 388 | free(Ztmp); | ||
| 389 | if (rv) | 379 | if (rv) |
| 390 | BIO_puts(out, " ok\n"); | 380 | BIO_puts(out, " ok\n"); |
| 391 | else { | 381 | else { |
| 392 | fprintf(stderr, "Error in ECDH routines\n"); | 382 | fprintf(stderr, "Error in ECDH routines\n"); |
| 393 | ERR_print_errors_fp(stderr); | 383 | ERR_print_errors_fp(stderr); |
| 394 | } | 384 | } |
| 385 | |||
| 386 | EC_KEY_free(key1); | ||
| 387 | EC_KEY_free(key2); | ||
| 388 | free(Ztmp); | ||
| 389 | |||
| 395 | return rv; | 390 | return rv; |
| 396 | } | 391 | } |
| 397 | 392 | ||
| @@ -473,8 +468,7 @@ main(int argc, char *argv[]) | |||
| 473 | 468 | ||
| 474 | err: | 469 | err: |
| 475 | ERR_print_errors_fp(stderr); | 470 | ERR_print_errors_fp(stderr); |
| 476 | if (ctx) | 471 | BN_CTX_free(ctx); |
| 477 | BN_CTX_free(ctx); | ||
| 478 | BIO_free(out); | 472 | BIO_free(out); |
| 479 | CRYPTO_cleanup_all_ex_data(); | 473 | CRYPTO_cleanup_all_ex_data(); |
| 480 | ERR_remove_thread_state(NULL); | 474 | ERR_remove_thread_state(NULL); |
