diff options
author | jsing <> | 2015-09-13 14:18:27 +0000 |
---|---|---|
committer | jsing <> | 2015-09-13 14:18:27 +0000 |
commit | 25bb75f1bb9ea6f3ef0b29eb231c7010f16152ef (patch) | |
tree | 68a9312f6fd013980386412bddd1bd076694a876 | |
parent | 759e6edbf75708ba15d1423ed0f65a15100fce7f (diff) | |
download | openbsd-25bb75f1bb9ea6f3ef0b29eb231c7010f16152ef.tar.gz openbsd-25bb75f1bb9ea6f3ef0b29eb231c7010f16152ef.tar.bz2 openbsd-25bb75f1bb9ea6f3ef0b29eb231c7010f16152ef.zip |
Remove explicit NULL checks before *_free() calls and tidy some code.
-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); |