]> git.ipfire.org Git - thirdparty/shadow.git/commitdiff
lib/, src/: Use xasprintf() instead of its pattern
authorAlejandro Colomar <alx@kernel.org>
Sat, 2 Sep 2023 16:29:26 +0000 (18:29 +0200)
committerAlejandro Colomar <alx@kernel.org>
Fri, 20 Oct 2023 19:05:33 +0000 (21:05 +0200)
Reviewed-by: Iker Pedrosa <ipedrosa@redhat.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
lib/copydir.c
lib/env.c
lib/getdef.c
lib/mail.c
lib/prefix_flag.c
lib/setupenv.c
src/useradd.c
src/userdel.c
src/usermod.c
src/vipw.c

index d60cf535bd191a42efaedabf77da1227007c4ae5..483d5b15a7786f70fc2e780bf1b30c6266417212 100644 (file)
@@ -35,6 +35,7 @@
 #include <attr/libattr.h>
 #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;
        }
index c9c03c9be38d8900cff120fded000ad5bfeab9f1..d823411ec6d7215f0839f38fbd5bb52c1536d9b1 100644 (file)
--- 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);
        }
index 585e8244fe9041ccc7ef66e2c62d696e386c7b0a..f4f8734f7601f30933dbcb6fa81f81937e16af7a 100644 (file)
@@ -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
index ede35f9e8da45a562bd472d45444aecd2d338954..5c8b4e6177c814e61ad7e012eaecda85cb8ddf6a 100644 (file)
@@ -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) {
index 7e1433079a4f76d1c8d915f0ebc39013bf1fe60a..80793d0ed096fb3c72733a37b35a118c60c58c92 100644 (file)
@@ -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
        }
index 654b70155a7639280be5ef60c98db0ac6ab96175..f305b866f02898e305dfdd3ba066a9e9623464a2 100644 (file)
 #include <pwd.h>
 #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);
 }
 
index 3638211eb243274461b78aa8a9d6ed424e01b85c..2d8597258bd14373f82c3573e598f41b0a73df97 100644 (file)
@@ -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;
                }
index b2f64ea0f727b9db93b3296df176f101b53a17f9..14bbbd707115a1c17e2b4b02b14e1bd9cad48886 100644 (file)
@@ -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);
                }
index 693c94a34ed91b91f2e7669750e9546ea3a9d853..4f7c7f487a4c3830583ebc675cb2a5a112c697a4 100644 (file)
@@ -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)) {
index 78d8314c1b444dd1f6676628b277ca491b51227e..f387b4ab0ed035b532d7c80b2c5a23b5beb76884 100644 (file)
@@ -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) {