From a382d319973001ff10298f05d2bde1a5d5f67561 Mon Sep 17 00:00:00 2001 From: Randall Winkhart Date: Fri, 19 Jul 2024 15:53:54 -0400 Subject: [PATCH] Fail early if adding an entry to a directory that does not exist (or if the directory is a file) --- src/backend/utilitiesMisc.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/backend/utilitiesMisc.go b/src/backend/utilitiesMisc.go index 4fec3f7..6d391b1 100644 --- a/src/backend/utilitiesMisc.go +++ b/src/backend/utilitiesMisc.go @@ -40,7 +40,15 @@ func TargetIsFile(targetLocation string, errorOnFail bool, failCondition uint8) } // WriteEntry writes entryData to an encrypted file at targetLocation -func WriteEntry(targetLocation string, entryData []string) { +func WriteEntry(targetLocation string, entryData []string, verifyEntryDoesNotExist bool) { + if verifyEntryDoesNotExist { + _, isAccessible := TargetIsFile(targetLocation, false, 0) + if isAccessible { + fmt.Println(AnsiError + "Target location already exists" + AnsiReset) + os.Exit(1) + } + } + encryptedBytes := EncryptGPG(entryData) err := os.WriteFile(targetLocation, encryptedBytes, 0600) if err != nil {