Commit 606b6462ce

Felix (xq) Queißner <git@mq32.de>
2020-07-28 19:00:45
Fixes atomicSymLink looping when new_path already exists.
1 parent d726c2a
Changed files (1)
lib
std
lib/std/fs.zig
@@ -84,7 +84,7 @@ pub fn atomicSymLink(allocator: *Allocator, existing_path: []const u8, new_path:
         try crypto.randomBytes(rand_buf[0..]);
         base64_encoder.encode(tmp_path[dirname.len + 1 ..], &rand_buf);
 
-        if (cwd().symLink(existing_path, new_path, .{})) {
+        if (cwd().symLink(existing_path, tmp_path, .{})) {
             return rename(tmp_path, new_path);
         } else |err| switch (err) {
             error.PathAlreadyExists => continue,