From: Alejandro Colomar Date: Sat, 2 Sep 2023 16:29:26 +0000 (+0200) Subject: lib/, src/: Use xasprintf() instead of its pattern X-Git-Tag: 4.15.0-rc1~150 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d5e1c1e475b0098ce65520576e6d8d339b15939e;p=thirdparty%2Fshadow.git lib/, src/: Use xasprintf() instead of its pattern Reviewed-by: Iker Pedrosa Signed-off-by: Alejandro Colomar --- diff --git a/lib/copydir.c b/lib/copydir.c index d60cf535b..483d5b15a 100644 --- a/lib/copydir.c +++ b/lib/copydir.c @@ -35,6 +35,7 @@ #include #endif /* WITH_ATTR */ #include "shadowlog.h" +#include "sprintf.h" static /*@null@*/const char *src_orig; @@ -228,8 +229,7 @@ static /*@exposed@*/ /*@null@*/struct link_name *check_link (const char *name, c lp->ln_dev = sb->st_dev; lp->ln_ino = sb->st_ino; lp->ln_count = sb->st_nlink; - if (asprintf(&lp->ln_name, "%s%s", dst_orig, name + strlen(src_orig)) == -1) - exit(EXIT_FAILURE); + xasprintf(&lp->ln_name, "%s%s", dst_orig, name + strlen(src_orig)); lp->ln_next = links; links = lp; @@ -608,11 +608,10 @@ static int copy_symlink (const struct path_info *src, const struct path_info *ds * create a link to the corresponding entry in the dst_orig * directory. */ - if (strncmp (oldlink, src_orig, strlen (src_orig)) == 0) { + if (strncmp(oldlink, src_orig, strlen(src_orig)) == 0) { char *dummy; - if (asprintf(&dummy, "%s%s", dst_orig, oldlink + strlen(src_orig)) == -1) - exit(EXIT_FAILURE); + xasprintf(&dummy, "%s%s", dst_orig, oldlink + strlen(src_orig)); free(oldlink); oldlink = dummy; } diff --git a/lib/env.c b/lib/env.c index c9c03c9be..d823411ec 100644 --- a/lib/env.c +++ b/lib/env.c @@ -20,6 +20,7 @@ #include "prototypes.h" #include "defines.h" #include "shadowlog.h" +#include "sprintf.h" /* @@ -73,8 +74,7 @@ void addenv (const char *string, /*@null@*/const char *value) size_t i, n; if (NULL != value) { - if (asprintf(&newstring, "%s=%s", string, value) == -1) - exit(EXIT_FAILURE); + xasprintf(&newstring, "%s=%s", string, value); } else { newstring = xstrdup (string); } diff --git a/lib/getdef.c b/lib/getdef.c index 585e8244f..f4f8734f7 100644 --- a/lib/getdef.c +++ b/lib/getdef.c @@ -25,6 +25,7 @@ #include "alloc.h" #include "getdef.h" #include "shadowlog_internal.h" +#include "sprintf.h" /* @@ -447,12 +448,10 @@ void setdef_config_file (const char* file) #ifdef USE_ECONF char *cp; - if (asprintf(&cp, "%s/%s", file, sysconfdir) == -1) - exit(13); + xasprintf(&cp, "%s/%s", file, sysconfdir); sysconfdir = cp; #ifdef VENDORDIR - if (asprintf(&cp, "%s/%s", file, vendordir) == -1) - exit(13); + xasprintf(&cp, "%s/%s", file, vendordir); vendordir = cp; #endif #else diff --git a/lib/mail.c b/lib/mail.c index ede35f9e8..5c8b4e617 100644 --- a/lib/mail.c +++ b/lib/mail.c @@ -17,6 +17,7 @@ #include "alloc.h" #include "getdef.h" +#include "sprintf.h" #ident "$Id$" @@ -37,8 +38,7 @@ void mailcheck (void) if (NULL != mailbox) { char *newmail; - if (asprintf(&newmail, "%s/new", mailbox) == -1) - exit(EXIT_FAILURE); + xasprintf(&newmail, "%s/new", mailbox); if (stat (newmail, &statbuf) != -1 && statbuf.st_size != 0) { if (statbuf.st_mtime > statbuf.st_atime) { diff --git a/lib/prefix_flag.c b/lib/prefix_flag.c index 7e1433079..80793d0ed 100644 --- a/lib/prefix_flag.c +++ b/lib/prefix_flag.c @@ -28,6 +28,7 @@ #endif /* ENABLE_SUBIDS */ #include "getdef.h" #include "shadowlog.h" +#include "sprintf.h" static char *passwd_db_file = NULL; @@ -106,42 +107,35 @@ extern const char* process_prefix_flag (const char* short_opt, int argc, char ** exit (E_BAD_ARG); } - if (asprintf(&passwd_db_file, "%s/%s", prefix, PASSWD_FILE) == -1) - exit(EXIT_FAILURE); + xasprintf(&passwd_db_file, "%s/%s", prefix, PASSWD_FILE); pw_setdbname(passwd_db_file); - if (asprintf(&group_db_file, "%s/%s", prefix, GROUP_FILE) == -1) - exit(EXIT_FAILURE); + xasprintf(&group_db_file, "%s/%s", prefix, GROUP_FILE); gr_setdbname(group_db_file); #ifdef SHADOWGRP - if (asprintf(&sgroup_db_file, "%s/%s", prefix, SGROUP_FILE) == -1) - exit(EXIT_FAILURE); + xasprintf(&sgroup_db_file, "%s/%s", prefix, SGROUP_FILE); sgr_setdbname(sgroup_db_file); #endif #ifdef USE_NIS __setspNIS(0); /* disable NIS for now, at least until it is properly supporting a "prefix" */ #endif - if (asprintf(&spw_db_file, "%s/%s", prefix, SHADOW_FILE) == -1) - exit(EXIT_FAILURE); + xasprintf(&spw_db_file, "%s/%s", prefix, SHADOW_FILE); spw_setdbname(spw_db_file); #ifdef ENABLE_SUBIDS - if (asprintf(&suid_db_file, "%s/%s", prefix, "/etc/subuid") == -1) - exit(EXIT_FAILURE); + xasprintf(&suid_db_file, "%s/%s", prefix, "/etc/subuid"); sub_uid_setdbname(suid_db_file); - if (asprintf(&sgid_db_file, "%s/%s", prefix, "/etc/subgid") == -1) - exit(EXIT_FAILURE); + xasprintf(&sgid_db_file, "%s/%s", prefix, "/etc/subgid"); sub_gid_setdbname(sgid_db_file); #endif #ifdef USE_ECONF setdef_config_file(prefix); #else - if (asprintf(&def_conf_file, "%s/%s", prefix, "/etc/login.defs") == -1) - exit(EXIT_FAILURE); + xasprintf(&def_conf_file, "%s/%s", prefix, "/etc/login.defs"); setdef_config_file(def_conf_file); #endif } diff --git a/lib/setupenv.c b/lib/setupenv.c index 654b70155..f305b866f 100644 --- a/lib/setupenv.c +++ b/lib/setupenv.c @@ -27,18 +27,17 @@ #include #include "getdef.h" #include "shadowlog.h" +#include "sprintf.h" #ifndef USE_PAM static void -addenv_path (const char *varname, const char *dirname, const char *filename) +addenv_path(const char *varname, const char *dirname, const char *filename) { char *buf; - if (asprintf(&buf, "%s/%s", dirname, filename) == -1) - exit(EXIT_FAILURE); - - addenv (varname, buf); + xasprintf(&buf, "%s/%s", dirname, filename); + addenv(varname, buf); free(buf); } diff --git a/src/useradd.c b/src/useradd.c index 3638211eb..2d8597258 100644 --- a/src/useradd.c +++ b/src/useradd.c @@ -63,6 +63,7 @@ #include "tcbfuncs.h" #endif #include "shadowlog.h" +#include "sprintf.h" #ifndef SKEL_DIR @@ -440,11 +441,10 @@ static void get_defaults (void) } if (prefix[0]) { - char *_def_template; /* avoid const warning */ + char *dt; /* avoid const warning */ - if (asprintf(&_def_template, "%s/%s", prefix, cp) == -1) - exit(EXIT_FAILURE); - def_template = _def_template; + xasprintf(&dt, "%s/%s", prefix, cp); + def_template = dt; } else { def_template = xstrdup(cp); } @@ -459,11 +459,10 @@ static void get_defaults (void) } if (prefix[0]) { - char *_def_usrtemplate; /* avoid const warning */ + char *dut; /* avoid const warning */ - if (asprintf(&_def_usrtemplate, "%s/%s", prefix, cp) == -1) - exit(EXIT_FAILURE); - def_usrtemplate = _def_usrtemplate; + xasprintf(&dut, "%s/%s", prefix, cp); + def_usrtemplate = dut; } else { def_usrtemplate = xstrdup(cp); } @@ -1582,16 +1581,14 @@ static void process_flags (int argc, char **argv) if (!dflg) { char *uh; - if (asprintf(&uh, "%s/%s", def_home, user_name) == -1) - exit(EXIT_FAILURE); + xasprintf(&uh, "%s/%s", def_home, user_name); user_home = uh; } if (prefix[0]) { - char *p_u_h; /* to avoid const warning */ + char *puh; /* to avoid const warning */ - if (asprintf(&p_u_h, "%s/%s", prefix, user_home) == -1) - exit(EXIT_FAILURE); - prefix_user_home = p_u_h; + xasprintf(&puh, "%s/%s", prefix, user_home); + prefix_user_home = puh; } else { prefix_user_home = user_home; } diff --git a/src/userdel.c b/src/userdel.c index b2f64ea0f..14bbbd707 100644 --- a/src/userdel.c +++ b/src/userdel.c @@ -52,6 +52,7 @@ #include "subordinateio.h" #endif /* ENABLE_SUBIDS */ #include "shadowlog.h" +#include "sprintf.h" /* @@ -804,11 +805,9 @@ static int remove_mailbox (void) } if (prefix[0]) { - if (asprintf(&mailfile, "%s/%s/%s", prefix, maildir, user_name) == -1) - exit(EXIT_FAILURE); + xasprintf(&mailfile, "%s/%s/%s", prefix, maildir, user_name); } else { - if (asprintf(&mailfile, "%s/%s", maildir, user_name) == -1) - exit(EXIT_FAILURE); + xasprintf(&mailfile, "%s/%s", maildir, user_name); } if (access (mailfile, F_OK) != 0) { @@ -1119,8 +1118,7 @@ int main (int argc, char **argv) user_gid = pwd->pw_gid; if (prefix[0]) { - if (asprintf(&user_home, "%s/%s", prefix, pwd->pw_dir) == -1) - exit(EXIT_FAILURE); + xasprintf(&user_home, "%s/%s", prefix, pwd->pw_dir); } else { user_home = xstrdup(pwd->pw_dir); } diff --git a/src/usermod.c b/src/usermod.c index 693c94a34..4f7c7f487 100644 --- a/src/usermod.c +++ b/src/usermod.c @@ -58,6 +58,7 @@ #include "tcbfuncs.h" #endif #include "shadowlog.h" +#include "sprintf.h" /* @@ -1266,18 +1267,12 @@ static void process_flags (int argc, char **argv) user_newgid = user_gid; } if (prefix[0]) { - if (asprintf(&prefix_user_home, "%s/%s", prefix, user_home) == -1) - exit(EXIT_FAILURE); + xasprintf(&prefix_user_home, "%s/%s", prefix, user_home); if (user_newhome) { - if (asprintf(&prefix_user_newhome, "%s/%s", - prefix, user_newhome) == -1) - { - exit(EXIT_FAILURE); - } + xasprintf(&prefix_user_newhome, "%s/%s", + prefix, user_newhome); } - - } - else { + } else { prefix_user_home = user_home; prefix_user_newhome = user_newhome; } @@ -2063,11 +2058,9 @@ static void move_mailbox (void) * between stat and chown). --marekm */ if (prefix[0]) { - if (asprintf(&mailfile, "%s/%s/%s", prefix, maildir, user_name) == -1) - exit(EXIT_FAILURE); + xasprintf(&mailfile, "%s/%s/%s", prefix, maildir, user_name); } else { - if (asprintf(&mailfile, "%s/%s", maildir, user_name) == -1) - exit(EXIT_FAILURE); + xasprintf(&mailfile, "%s/%s", maildir, user_name); } fd = open (mailfile, O_RDONLY | O_NONBLOCK, 0); @@ -2112,14 +2105,10 @@ static void move_mailbox (void) char *newmailfile; if (prefix[0]) { - if (asprintf(&newmailfile, "%s/%s/%s", - prefix, maildir, user_newname) == -1) - { - exit(EXIT_FAILURE); - } + xasprintf(&newmailfile, "%s/%s/%s", + prefix, maildir, user_newname); } else { - if (asprintf(&newmailfile, "%s/%s", maildir, user_newname) == -1) - exit(EXIT_FAILURE); + xasprintf(&newmailfile, "%s/%s", maildir, user_newname); } if ( (link (mailfile, newmailfile) != 0) || (unlink (mailfile) != 0)) { diff --git a/src/vipw.c b/src/vipw.c index 78d8314c1..f387b4ab0 100644 --- a/src/vipw.c +++ b/src/vipw.c @@ -43,6 +43,7 @@ #include "tcbfuncs.h" #endif /* WITH_TCB */ #include "shadowlog.h" +#include "sprintf.h" #define MSG_WARN_EDIT_OTHER_FILE _( \ @@ -304,8 +305,7 @@ vipwedit (const char *file, int (*file_lock) (void), int (*file_unlock) (void)) continue; } - if (asprintf(&buf, "%s %s", editor, fileedit) == -1) - exit(EXIT_FAILURE); + xasprintf(&buf, "%s %s", editor, fileedit); status = system (buf); if (-1 == status) {