From d888846b68dd5fad998b84c5cb6246b1b63398cd Mon Sep 17 00:00:00 2001 From: Sergei Zimmerman Date: Mon, 1 Dec 2025 02:51:37 +0300 Subject: [PATCH] libstore: Use makeTempPath in optimizePath_ This was intended to be cherry-picked in 6aed9d877cfbe1e649b69d2f15b6aeccbfbb0f3a, but was left hanging. This is actually important for fixing [^]. emilazy let me know of this bad cherry-pick and its significance. [^]: https://github.com/NixOS/nix/issues/7273 Originally fixed by Lily Ballard in https://gerrit.lix.systems/c/lix/+/2100. --- src/libstore/optimise-store.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libstore/optimise-store.cc b/src/libstore/optimise-store.cc index dca093e04..3d8adedbf 100644 --- a/src/libstore/optimise-store.cc +++ b/src/libstore/optimise-store.cc @@ -234,7 +234,7 @@ void LocalStore::optimisePath_( its timestamp back to 0. */ MakeReadOnly makeReadOnly(mustToggle ? dirOfPath : ""); - std::filesystem::path tempLink = fmt("%1%/.tmp-link-%2%-%3%", config->realStoreDir, getpid(), rand()); + std::filesystem::path tempLink = makeTempPath(config->realStoreDir.get(), ".tmp-link"); try { std::filesystem::create_hard_link(linkPath, tempLink);