aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/plugins/crypto_ipsecmb/ipsecmb.c2
-rw-r--r--src/plugins/unittest/crypto_test.c7
2 files changed, 7 insertions, 2 deletions
diff --git a/src/plugins/crypto_ipsecmb/ipsecmb.c b/src/plugins/crypto_ipsecmb/ipsecmb.c
index 8e40e3ec2e9..d579c0d74a6 100644
--- a/src/plugins/crypto_ipsecmb/ipsecmb.c
+++ b/src/plugins/crypto_ipsecmb/ipsecmb.c
@@ -321,10 +321,12 @@ crypto_ipsecmb_iv_init (ipsecmb_main_t * imbm)
if (read (fd, &ptd->cbc_iv, sizeof (ptd->cbc_iv)) != sizeof (ptd->cbc_iv))
{
err = clib_error_return_unix (0, "'/dev/urandom' read failure");
+ close (fd);
return (err);
}
}
+ close (fd);
return (NULL);
}
diff --git a/src/plugins/unittest/crypto_test.c b/src/plugins/unittest/crypto_test.c
index fba1e0696aa..37cdc688f5e 100644
--- a/src/plugins/unittest/crypto_test.c
+++ b/src/plugins/unittest/crypto_test.c
@@ -81,6 +81,10 @@ test_crypto (vlib_main_t * vm, crypto_test_main_t * tm)
r = r->next;
}
+ /* no tests registered */
+ if (n_ops == 0)
+ return 0;
+
vec_sort_with_function (rv, sort_registrations);
vec_validate_aligned (computed_data, computed_data_total_len - 1,
@@ -158,8 +162,6 @@ test_crypto (vlib_main_t * vm, crypto_test_main_t * tm)
op->user_data = i;
op++;
}
- /* next */
- r = r->next;
}
/* *INDENT-ON* */
@@ -177,6 +179,7 @@ test_crypto (vlib_main_t * vm, crypto_test_main_t * tm)
{
case VNET_CRYPTO_OP_TYPE_AEAD_ENCRYPT:
exp_tag = &r->tag;
+ /* fall through */
case VNET_CRYPTO_OP_TYPE_ENCRYPT:
exp_ct = &r->ciphertext;
break;