summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDon Anderson <dda@ddanderson.com>2016-02-03 13:58:59 -0500
committerDon Anderson <dda@ddanderson.com>2016-02-03 13:58:59 -0500
commit1e23c4eff5c745a0e0071067fb67649f9fcfb726 (patch)
treefff47b808b777d1fcb5bd0031d5f0cf60986ee08
parent32bb3fc49574b20f7a965036fd588b93ae87e9ec (diff)
downloadmongo-1e23c4eff5c745a0e0071067fb67649f9fcfb726.tar.gz
SERVER-22438. Clarify encryptor customize code and resolve coverity warning.
-rw-r--r--src/conn/conn_api.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/conn/conn_api.c b/src/conn/conn_api.c
index a53f7d96e64..27977de63b2 100644
--- a/src/conn/conn_api.c
+++ b/src/conn/conn_api.c
@@ -402,7 +402,7 @@ __wt_encryptor_config(WT_SESSION_IMPL *session, WT_CONFIG_ITEM *cval,
{
WT_CONNECTION_IMPL *conn;
WT_DECL_RET;
- WT_ENCRYPTOR *encryptor;
+ WT_ENCRYPTOR *custom, *encryptor;
WT_KEYED_ENCRYPTOR *kenc;
WT_NAMED_ENCRYPTOR *nenc;
uint64_t bucket, hash;
@@ -440,12 +440,13 @@ __wt_encryptor_config(WT_SESSION_IMPL *session, WT_CONFIG_ITEM *cval,
WT_ERR(__wt_strndup(session, keyid->str, keyid->len, &kenc->keyid));
encryptor = nenc->encryptor;
if (encryptor->customize != NULL) {
+ custom = NULL;
WT_ERR(encryptor->customize(encryptor, &session->iface,
- cfg_arg, &encryptor));
- if (encryptor == NULL)
- encryptor = nenc->encryptor;
- else
+ cfg_arg, &custom));
+ if (custom != NULL) {
kenc->owned = 1;
+ encryptor = custom;
+ }
}
WT_ERR(encryptor->sizing(encryptor, &session->iface,
&kenc->size_const));