diff options
author | 2015-05-09 19:12:16 +0000 | |
---|---|---|
committer | 2015-05-09 19:12:16 +0000 | |
commit | 8ed7622e3f439163a5b57edaaaedfc5a44cc0373 (patch) | |
tree | 2378879795e08e9390468b4641229abf2d672548 | |
parent | c40fda9eafe03e89a520e779c3640d53528ff0d5 (diff) | |
download | pw-darwin-8ed7622e3f439163a5b57edaaaedfc5a44cc0373.tar.gz pw-darwin-8ed7622e3f439163a5b57edaaaedfc5a44cc0373.tar.zst pw-darwin-8ed7622e3f439163a5b57edaaaedfc5a44cc0373.zip |
Replace malloc(3) + strcpy(3) + strcat(3) by asprintf(3)
-rw-r--r-- | pw/pw_user.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/pw/pw_user.c b/pw/pw_user.c index 0f7dd26..dc9a2d8 100644 --- a/pw/pw_user.c +++ b/pw/pw_user.c @@ -363,11 +363,9 @@ pw_user(struct userconf * cnf, int mode, struct cargs * args) if (mode == M_LOCK) { if (strncmp(pwd->pw_passwd, locked_str, sizeof(locked_str)-1) == 0) errx(EX_DATAERR, "user '%s' is already locked", pwd->pw_name); - passtmp = malloc(strlen(pwd->pw_passwd) + sizeof(locked_str)); + asprintf(&passtmp, "%s%s", locked_str, pwd->pw_passwd); if (passtmp == NULL) /* disaster */ errx(EX_UNAVAILABLE, "out of memory"); - strcpy(passtmp, locked_str); - strcat(passtmp, pwd->pw_passwd); pwd->pw_passwd = passtmp; edited = 1; } else if (mode == M_UNLOCK) { |