From 4f77ddca591a25779407a89ca959d8b0176b2d4d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 19 Mar 2024 23:23:26 +0100 Subject: [PATCH] various: also use strdup_to() in cases where we don't return immediately --- src/basic/terminal-util.c | 10 +++------- src/home/homework-luks.c | 10 +++------- src/shared/install.c | 8 +++----- src/shared/password-quality-util-pwquality.c | 11 ++++------- 4 files changed, 13 insertions(+), 26 deletions(-) diff --git a/src/basic/terminal-util.c b/src/basic/terminal-util.c index fd43f924919..518412ec36d 100644 --- a/src/basic/terminal-util.c +++ b/src/basic/terminal-util.c @@ -1098,13 +1098,9 @@ int get_ctty(pid_t pid, dev_t *ret_devnr, char **ret) { return -EINVAL; if (ret) { - _cleanup_free_ char *b = NULL; - - b = strdup(w); - if (!b) - return -ENOMEM; - - *ret = TAKE_PTR(b); + r = strdup_to(ret, w); + if (r < 0) + return r; } if (ret_devnr) diff --git a/src/home/homework-luks.c b/src/home/homework-luks.c index 9d86881d155..8dcb5c5d46c 100644 --- a/src/home/homework-luks.c +++ b/src/home/homework-luks.c @@ -126,7 +126,6 @@ static int probe_file_system_by_fd( sd_id128_t *ret_uuid) { _cleanup_(blkid_free_probep) blkid_probe b = NULL; - _cleanup_free_ char *s = NULL; const char *fstype = NULL, *uuid = NULL; sd_id128_t id; int r; @@ -168,13 +167,10 @@ static int probe_file_system_by_fd( if (r < 0) return r; - s = strdup(fstype); - if (!s) - return -ENOMEM; - - *ret_fstype = TAKE_PTR(s); + r = strdup_to(ret_fstype, fstype); + if (r < 0) + return r; *ret_uuid = id; - return 0; } diff --git a/src/shared/install.c b/src/shared/install.c index 47dba1f11c2..8fe0165225c 100644 --- a/src/shared/install.c +++ b/src/shared/install.c @@ -3215,11 +3215,9 @@ int unit_file_exists_full(RuntimeScope scope, const LookupPaths *lp, const char if (ret_path) { assert(info); - _cleanup_free_ char *p = strdup(info->path); - if (!p) - return -ENOMEM; - - *ret_path = TAKE_PTR(p); + r = strdup_to(ret_path, info->path); + if (r < 0) + return r; } return 1; diff --git a/src/shared/password-quality-util-pwquality.c b/src/shared/password-quality-util-pwquality.c index 87e7d285c53..60816f8245e 100644 --- a/src/shared/password-quality-util-pwquality.c +++ b/src/shared/password-quality-util-pwquality.c @@ -145,13 +145,10 @@ int check_password_quality(const char *password, const char *old, const char *us r = sym_pwquality_check(pwq, password, old, username, &auxerror); if (r < 0) { if (ret_error) { - _cleanup_free_ char *e = NULL; - - e = strdup(sym_pwquality_strerror(buf, sizeof(buf), r, auxerror)); - if (!e) - return -ENOMEM; - - *ret_error = TAKE_PTR(e); + r = strdup_to(ret_error, + sym_pwquality_strerror(buf, sizeof(buf), r, auxerror)); + if (r < 0) + return r; } return 0; /* all bad */ -- 2.47.3