Skip site navigation (1)Skip section navigation (2)
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>