From b1903e7ebc0f017c4f630ed9bc5a3ba823e0be86 Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Mon, 8 Dec 2025 14:39:50 +0000 Subject: More fixes --- src/repo/s6-rc-set-new.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/repo/s6-rc-set-new.c') diff --git a/src/repo/s6-rc-set-new.c b/src/repo/s6-rc-set-new.c index ba41a19..d40d29e 100644 --- a/src/repo/s6-rc-set-new.c +++ b/src/repo/s6-rc-set-new.c @@ -55,7 +55,8 @@ static inline void newset (char const *repo, char const *setname) memcpy(tmp + repolen + 10 + setlen, ":XXXXXX", 8) ; m = umask(0) ; if (!mkdtemp(tmp)) strerr_diefu2sys(111, "mkdtemp ", tmp) ; - + memcpy(sub, tmp, repolen + 17 + setlen) ; + sub[repolen + 17 + setlen] = '/' ; for (size_t i = 0 ; i < 4 ; i++) { memcpy(sub + repolen + 18 + setlen, s6rc_repo_subnames[i], 7) ; @@ -79,10 +80,10 @@ static inline void newset (char const *repo, char const *setname) cleanup(tmp) ; strerr_diefu2sys(111, "chmod ", tmp) ; } - if (symlink(tmp, fn) == -1) + if (symlink(tmp + repolen + 9, fn) == -1) { cleanup(tmp) ; - strerr_diefu4sys(111, "rename ", tmp, " to ", fn) ; + strerr_diefu4sys(111, "symlink ", tmp, " to ", fn) ; } } -- cgit v1.3.1