summaryrefslogtreecommitdiff
path: root/src/home/homed-manager.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2022-12-21 14:50:04 +0100
committerLennart Poettering <lennart@poettering.net>2022-12-23 15:04:19 +0100
commitc96c9fc78e28e961783c7558097d335e1cab00a5 (patch)
tree89eb27a524d656a3930d20cd83acb177ee2ce03f /src/home/homed-manager.c
parentc2c38276cb3185f1c383cffe77635bc1411dbc2c (diff)
downloadsystemd-c96c9fc78e28e961783c7558097d335e1cab00a5.tar.gz
homed: move away from basename()
Diffstat (limited to 'src/home/homed-manager.c')
-rw-r--r--src/home/homed-manager.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/home/homed-manager.c b/src/home/homed-manager.c
index 2fd1d67eff..e1af7aa1ad 100644
--- a/src/home/homed-manager.c
+++ b/src/home/homed-manager.c
@@ -1022,9 +1022,9 @@ static int manager_bind_varlink(Manager *m) {
return log_error_errno(r, "Failed to attach varlink connection to event loop: %m");
assert(!m->userdb_service);
- m->userdb_service = strdup(basename(socket_path));
- if (!m->userdb_service)
- return log_oom();
+ r = path_extract_filename(socket_path, &m->userdb_service);
+ if (r < 0)
+ return log_error_errno(r, "Failed to extra filename from socket path '%s': %m", socket_path);
/* Avoid recursion */
if (setenv("SYSTEMD_BYPASS_USERDB", m->userdb_service, 1) < 0)
@@ -1505,7 +1505,11 @@ static int manager_load_public_key_one(Manager *m, const char *path) {
assert(m);
- if (streq(basename(path), "local.public")) /* we already loaded the private key, which includes the public one */
+ r = path_extract_filename(path, &fn);
+ if (r < 0)
+ return log_error_errno(r, "Failed to extract filename of path '%s': %m", path);
+
+ if (streq(fn, "local.public")) /* we already loaded the private key, which includes the public one */
return 0;
f = fopen(path, "re");
@@ -1534,10 +1538,6 @@ static int manager_load_public_key_one(Manager *m, const char *path) {
if (!pkey)
return log_error_errno(SYNTHETIC_ERRNO(EIO), "Failed to parse public key file %s.", path);
- fn = strdup(basename(path));
- if (!fn)
- return log_oom();
-
r = hashmap_put(m->public_keys, fn, pkey);
if (r < 0)
return log_error_errno(r, "Failed to add public key to set: %m");