From c926649496f0107bfc3b5803fd578389993a6326 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6ran=20Karl?= <3951388+JoeKar@users.noreply.github.com> Date: Sat, 1 Jun 2024 16:38:57 +0200 Subject: [PATCH] settings: Perform write process safe --- internal/config/settings.go | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/internal/config/settings.go b/internal/config/settings.go index e49b55e7..6061e49a 100644 --- a/internal/config/settings.go +++ b/internal/config/settings.go @@ -155,6 +155,10 @@ var ( VolatileSettings map[string]bool ) +func writeFile(name string, txt []byte) error { + return util.SafeWrite(name, txt, false) +} + func init() { ModifiedSettings = make(map[string]bool) VolatileSettings = make(map[string]bool) @@ -355,7 +359,8 @@ func WriteSettings(filename string) error { } txt, _ := json.MarshalIndent(parsedSettings, "", " ") - err = os.WriteFile(filename, append(txt, '\n'), util.FileMode) + txt = append(txt, '\n') + err = writeFile(filename, txt) } return err } @@ -376,8 +381,9 @@ func OverwriteSettings(filename string) error { } } - txt, _ := json.MarshalIndent(settings, "", " ") - err = os.WriteFile(filename, append(txt, '\n'), util.FileMode) + txt, _ := json.MarshalIndent(parsedSettings, "", " ") + txt = append(txt, '\n') + err = writeFile(filename, txt) } return err }