From 1e4b23f6275d81e391bf616c65ce52bd30ec8774 Mon Sep 17 00:00:00 2001 From: obarun <eric@obarun.org> Date: Tue, 13 Jun 2023 09:38:46 +1100 Subject: [PATCH] add set_ownerhome_stack_byuid function --- src/include/66/utils.h | 1 + src/lib66/utils/set_ownerhome.c | 11 +++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/include/66/utils.h b/src/include/66/utils.h index 128b2e83..53b545fa 100644 --- a/src/include/66/utils.h +++ b/src/include/66/utils.h @@ -59,6 +59,7 @@ extern void name_isvalid(char const *name) ; extern int set_ownerhome_stack(char *store) ; extern int set_ownersysdir_stack(char *base, uid_t owner) ; +extern int set_ownerhome_stack_byuid(char *store, uid_t owner) ; extern void set_treeinfo(ssexec_t *info) ; #endif diff --git a/src/lib66/utils/set_ownerhome.c b/src/lib66/utils/set_ownerhome.c index a69b0cbd..bef796f4 100644 --- a/src/lib66/utils/set_ownerhome.c +++ b/src/lib66/utils/set_ownerhome.c @@ -47,13 +47,13 @@ int set_ownerhome(stralloc *base,uid_t owner) return 1 ; } -int set_ownerhome_stack(char *store) +int set_ownerhome_stack_byuid(char *store, uid_t owner) { log_flow() ; char const *user_home = 0 ; int e = errno ; - struct passwd *st = getpwuid(getuid()) ; + struct passwd *st = getpwuid(owner) ; errno = 0 ; if (!st) { if (!errno) errno = ESRCH ; @@ -73,3 +73,10 @@ int set_ownerhome_stack(char *store) return 1 ; } + +int set_ownerhome_stack(char *store) +{ + log_flow() ; + + return set_ownerhome_stack_byuid(store, getuid()) ; +} -- GitLab