Date: Sat, 9 May 2015 16:44:37 -0700 From: Garrett Cooper <yaneurabeya@gmail.com> To: Baptiste Daroussin <bapt@FreeBSD.org> Cc: "svn-src-head@freebsd.org" <svn-src-head@freebsd.org>, "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>, "src-committers@freebsd.org" <src-committers@freebsd.org> Subject: Re: svn commit: r282685 - head/usr.sbin/pw Message-ID: <1F56EC53-9C20-42CC-BD60-186675F0CDB1@gmail.com> In-Reply-To: <20150509230349.GG54347@ivaldir.etoilebsd.net> References: <201505091912.t49JCHRf067749@svn.freebsd.org> <4DE758E7-BE6B-45D6-A184-9443FB21F4A7@gmail.com> <20150509230349.GG54347@ivaldir.etoilebsd.net>
next in thread | previous in thread | raw e-mail | index | archive | help
--Apple-Mail=_A265B449-880F-4493-8566-C147337A6B11 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii On May 9, 2015, at 16:03, Baptiste Daroussin <bapt@FreeBSD.org> wrote: > On Sat, May 09, 2015 at 03:54:09PM -0700, Garrett Cooper wrote: >>=20 >>> On May 9, 2015, at 12:12, Baptiste Daroussin <bapt@FreeBSD.org> = wrote: >>>=20 >>> Author: bapt >>> Date: Sat May 9 19:12:16 2015 >>> New Revision: 282685 >>> URL: https://svnweb.freebsd.org/changeset/base/282685 >>>=20 >>> Log: >>> Replace malloc(3) + strcpy(3) + strcat(3) by asprintf(3) >>>=20 >>> Modified: >>> head/usr.sbin/pw/pw_user.c >>>=20 >>> Modified: head/usr.sbin/pw/pw_user.c >>> = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D >>> --- head/usr.sbin/pw/pw_user.c Sat May 9 19:11:01 2015 = (r282684) >>> +++ head/usr.sbin/pw/pw_user.c Sat May 9 19:12:16 2015 = (r282685) >>> @@ -363,11 +363,9 @@ pw_user(struct userconf * cnf, int mode, >>> if (mode =3D=3D M_LOCK) { >>> if (strncmp(pwd->pw_passwd, locked_str, = sizeof(locked_str)-1) =3D=3D 0) >>> errx(EX_DATAERR, "user '%s' is already locked", = pwd->pw_name); >>> - passtmp =3D malloc(strlen(pwd->pw_passwd) + = sizeof(locked_str)); >>> + asprintf(&passtmp, "%s%s", locked_str, pwd->pw_passwd); >>> if (passtmp =3D=3D NULL) /* disaster */ >>> errx(EX_UNAVAILABLE, "out of memory"); >>> - strcpy(passtmp, locked_str); >>> - strcat(passtmp, pwd->pw_passwd); >>> pwd->pw_passwd =3D passtmp; >>> edited =3D 1; >>> } else if (mode =3D=3D M_UNLOCK) { >>=20 >> Please check the return values from asprintf.. >=20 > As said in the manpage: >=20 > If sufficient space cannot be allocated, asprintf() > and vasprintf() will return -1 and set ret to be a NULL pointer. >=20 > hence: > if (passtmp =3D=3D NULL) /* disaster */ > errx(EX_UNAVAILABLE, "out of memory"); >=20 > is checking properly asprintf return. >=20 > Am I missing something? Nope. Carry on! --Apple-Mail=_A265B449-880F-4493-8566-C147337A6B11 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQEcBAEBCgAGBQJVTpvmAAoJEMZr5QU6S73eaRsIAJF1/S9Tn96cEBD7j6OAEpTa d/jwAkB6yAG4Hlrp180yS5ykL/oXUqpRnC0ZFtXqPeEQ+EdEf7K41BcSbjm/P0uN SDIAbxPa0yX/gqkheeS1AOcm3a/4JnVS92kv8DqwSIQeNMpYQSduYhv1xXwRw1ri UPp2M7jTZrmevvFAC/6CLYgUIqGwMc233xedrPRMinQFe5RxmECUqYEg6PBmMVXg rZNF5bW0F1Q1qcVLX1aNrh7XQU6f6SD3Vky5Gppp+V7xUZID9AGFZIzY9qqXUg9F ae1eITB9MAzy+JyhiRrNRHuGN4otFKuRjGQiGffy6UqrtiQ5tFJQifzU4sMu06I= =f79m -----END PGP SIGNATURE----- --Apple-Mail=_A265B449-880F-4493-8566-C147337A6B11--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1F56EC53-9C20-42CC-BD60-186675F0CDB1>