From a910633c64531800be1675cdbf2534a1de7585e8 Mon Sep 17 00:00:00 2001 From: Marcus van Elst Date: Tue, 28 Apr 2026 15:37:36 +0200 Subject: [PATCH] =?UTF-8?q?Fix=20#64:=20Obergrenze=20f=C3=BCr=20.bak-Backu?= =?UTF-8?q?p-Schleife?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Haiku 4.5 --- .../bootstrap/adapter/GuiConfigurationPropertiesWriter.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pdf-umbenenner-bootstrap/src/main/java/de/gecheckt/pdf/umbenenner/bootstrap/adapter/GuiConfigurationPropertiesWriter.java b/pdf-umbenenner-bootstrap/src/main/java/de/gecheckt/pdf/umbenenner/bootstrap/adapter/GuiConfigurationPropertiesWriter.java index 7835101..aea0919 100644 --- a/pdf-umbenenner-bootstrap/src/main/java/de/gecheckt/pdf/umbenenner/bootstrap/adapter/GuiConfigurationPropertiesWriter.java +++ b/pdf-umbenenner-bootstrap/src/main/java/de/gecheckt/pdf/umbenenner/bootstrap/adapter/GuiConfigurationPropertiesWriter.java @@ -117,7 +117,8 @@ public final class GuiConfigurationPropertiesWriter implements GuiConfigurationF LOG.info("Sicherungskopie erstellt: {}", bakPath); return; } - for (int i = 1; ; i++) { + final int MAX_BACKUP_ATTEMPTS = 1000; + for (int i = 1; i <= MAX_BACKUP_ATTEMPTS; i++) { Path numbered = targetPath.resolveSibling(targetPath.getFileName() + ".bak." + i); if (!Files.exists(numbered)) { copyFile(targetPath, numbered); @@ -125,6 +126,8 @@ public final class GuiConfigurationPropertiesWriter implements GuiConfigurationF return; } } + throw new GuiConfigurationWriteException( + "Maximale Anzahl an .bak-Sicherungen (1000) für '" + targetPath + "' erreicht"); } /**