From 8fe9e3c3fef0049df82281a62afe35dda516dfe2 Mon Sep 17 00:00:00 2001 From: historia <[not public]> Date: Fri, 18 Sep 2026 17:48:26 -0400 Subject: fix: close combat ghost, admin traversal, login throttle, journal double-pay, and quality/economy gaps --- internal/player/store.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'internal/player/store.go') diff --git a/internal/player/store.go b/internal/player/store.go index 0b0e70e..5d69ec3 100644 --- a/internal/player/store.go +++ b/internal/player/store.go @@ -52,7 +52,13 @@ func writePrivate(path string, data []byte) error { if err := persistence.WriteFile(path, data, 0600); err != nil { return err } - return os.Chmod(path, 0600) + // The file was already renamed into place; a chmod failure is a + // post-replacement durability-uncertain condition, not "nothing + // happened". + if err := os.Chmod(path, 0600); err != nil { + return fmt.Errorf("%w: chmod: %v", persistence.ErrDurabilityUncertain, err) + } + return nil } // MarshalAccount serializes an account; callers that own the account (the -- cgit v1.2.3