From bb4b2b024edcd28e182fc7064ce700b0dad48c70 Mon Sep 17 00:00:00 2001 From: Vishal Nayak Date: Mon, 13 Apr 2020 22:54:21 -0400 Subject: [PATCH] Fix segfault when seal block is removed (#8517) --- command/server_util.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/command/server_util.go b/command/server_util.go index 62be7b170fa9b..940addaf9d577 100644 --- a/command/server_util.go +++ b/command/server_util.go @@ -103,17 +103,17 @@ func adjustCoreForSealMigration(logger log.Logger, core *vault.Core, barrierSeal // Set the appropriate barrier and recovery configs. switch { - case migrationSeal.RecoveryKeySupported() && newSeal.RecoveryKeySupported(): + case migrationSeal != nil && newSeal != nil && migrationSeal.RecoveryKeySupported() && newSeal.RecoveryKeySupported(): // Migrating from auto->auto, copy the configs over newSeal.SetCachedBarrierConfig(existBarrierSealConfig) newSeal.SetCachedRecoveryConfig(existRecoverySealConfig) - case migrationSeal.RecoveryKeySupported(): + case migrationSeal != nil && newSeal != nil && migrationSeal.RecoveryKeySupported(): // Migrating from auto->shamir, clone auto's recovery config and set // stored keys to 1. newSealConfig := existRecoverySealConfig.Clone() newSealConfig.StoredShares = 1 newSeal.SetCachedBarrierConfig(newSealConfig) - case newSeal.RecoveryKeySupported(): + case newSeal != nil && newSeal.RecoveryKeySupported(): // Migrating from shamir->auto, set a new barrier config and set // recovery config to a clone of shamir's barrier config with stored // keys set to 0.