From 003e0b36a6e6f6d51c538781741009455b5bd107 Mon Sep 17 00:00:00 2001
From: Niels de Vos <ndevos@ibm.com>
Date: Wed, 22 Jan 2025 14:33:55 +0100
Subject: [PATCH] util: prevent a panic when creating an fscrypt protector
 failed

Signed-off-by: Niels de Vos <ndevos@ibm.com>
---
 internal/util/fscrypt/fscrypt.go | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/internal/util/fscrypt/fscrypt.go b/internal/util/fscrypt/fscrypt.go
index a1d05d3a2..4c70653b7 100644
--- a/internal/util/fscrypt/fscrypt.go
+++ b/internal/util/fscrypt/fscrypt.go
@@ -217,12 +217,14 @@ func initializeAndUnlock(
 	}
 
 	protector, err := fscryptactions.CreateProtector(fscryptContext, protectorName, keyFn, owner)
-	if err != nil {
+	if err != nil && protector != nil {
 		log.ErrorLog(ctx, "fscrypt: protector name=%s create failed: %v. reverting.", protectorName, err)
 		if revertErr := protector.Revert(); revertErr != nil {
 			return revertErr
 		}
 
+		return err
+	} else if err != nil {
 		return err
 	}