]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
homed: make sure to use right asssesors for GID + access mode
authorLennart Poettering <lennart@poettering.net>
Tue, 31 Aug 2021 08:46:06 +0000 (10:46 +0200)
committerLennart Poettering <lennart@poettering.net>
Tue, 31 Aug 2021 08:51:50 +0000 (10:51 +0200)
Don't reach directly into the UserRecord struct, but use the right
assessors, so that the "unspecified" case is covered.

src/home/homework-cifs.c

index 2254eb59cd742b87c1485603299dba85a7e0d54c..cf3c58431a020d3865fbbcbeaa15442a8342f6f1 100644 (file)
@@ -58,8 +58,8 @@ int home_prepare_cifs(
 
                         f = safe_fclose(f);
 
-                        if (asprintf(&options, "credentials=%s,uid=" UID_FMT ",forceuid,gid=" UID_FMT ",forcegid,file_mode=0%3o,dir_mode=0%3o",
-                                     p, h->uid, h->uid, h->access_mode, h->access_mode) < 0)
+                        if (asprintf(&options, "credentials=%s,uid=" UID_FMT ",forceuid,gid=" GID_FMT ",forcegid,file_mode=0%3o,dir_mode=0%3o",
+                                     p, h->uid, user_record_gid(h), user_record_access_mode(h), user_record_access_mode(h)) < 0)
                                 return log_oom();
 
                         r = safe_fork("(mount)", FORK_RESET_SIGNALS|FORK_RLIMIT_NOFILE_SAFE|FORK_DEATHSIG|FORK_LOG|FORK_STDOUT_TO_STDERR, &mount_pid);