From b81d74220e26f2f84190195221d521dbd2ff446c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nils=20O=2E=20Sel=C3=A5sdal?= Date: Sat, 29 Aug 2026 00:42:34 +0200 Subject: [PATCH] Remove TOCTOU race in unique ID generation using atomic Mkdir --- main.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/main.go b/main.go index 5c6c4b2..bbd6834 100644 --- a/main.go +++ b/main.go @@ -249,11 +249,10 @@ func generateUniqueID() (string, error) { id := generateID() targetDir := filepath.Join(uploadDir, id) - if _, err := os.Stat(targetDir); os.IsNotExist(err) { - if err := os.MkdirAll(targetDir, 0755); err != nil { - return "", err - } + if err := os.Mkdir(targetDir, 0755); err == nil { return id, nil + } else if !os.IsExist(err) { + return "", err } }