diff --git a/src/cart/crt_iv.c b/src/cart/crt_iv.c index 5b9ddecdbed..7a5ee5ae047 100644 --- a/src/cart/crt_iv.c +++ b/src/cart/crt_iv.c @@ -3305,8 +3305,11 @@ crt_iv_update_internal(crt_iv_namespace_t ivns, uint32_t class_id, D_GOTO(exit, rc); } - rc = iv_ops->ivo_on_get(ivns, iv_key, - 0, CRT_IV_PERM_WRITE, NULL, &priv); + rc = iv_ops->ivo_on_get(ivns, iv_key, 0, CRT_IV_PERM_WRITE, NULL, &priv); + if (rc != 0) { + D_ERROR("ivo_on_get(): " DF_RC, DP_RC(rc)); + D_GOTO(exit, rc); + } if (iv_value != NULL) rc = iv_ops->ivo_on_update(ivns, iv_key, 0, diff --git a/src/engine/server_iv.c b/src/engine/server_iv.c index 4a89454a248..1bc8fe42c55 100644 --- a/src/engine/server_iv.c +++ b/src/engine/server_iv.c @@ -596,8 +596,7 @@ ivc_on_get(crt_iv_namespace_t ivns, crt_iv_key_t *iv_key, class = entry->iv_class; if (iv_value) { - rc = class->iv_class_ops->ivc_value_alloc(entry, &key, - iv_value); + rc = class->iv_class_ops->ivc_value_alloc(entry, &key, iv_value); if (rc) D_GOTO(out, rc); } @@ -609,7 +608,7 @@ ivc_on_get(crt_iv_namespace_t ivns, crt_iv_key_t *iv_key, D_ALLOC_PTR(priv_entry); if (priv_entry == NULL) { class->iv_class_ops->ivc_ent_put(entry, entry_priv_val); - D_GOTO(out, rc); + D_GOTO(out, rc = -DER_NOMEM); } priv_entry->priv = entry_priv_val;