Date: Mon, 13 May 2019 08:45:14 +0200 From: Sebastian Huber <sebastian.huber@embedded-brains.de> To: freebsd-hackers@freebsd.org Subject: Re: [PATCH] ifconfig: Avoid superfluous write to const string Message-ID: <b322aaef-ed43-30c4-5934-60b7bb6cbd25@embedded-brains.de> In-Reply-To: <20190513063951.6521-1-sebastian.huber@embedded-brains.de> References: <20190513063951.6521-1-sebastian.huber@embedded-brains.de>
next in thread | previous in thread | raw e-mail | index | archive | help
Sorry, this patch is wrong. The *p =3D '\0' assignment is necessary so=20 that later calls to inet_aton(), gethostbyname() and getnetbyname() work. On 13/05/2019 08:39, Sebastian Huber wrote: > --- > sbin/ifconfig/af_inet.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/sbin/ifconfig/af_inet.c b/sbin/ifconfig/af_inet.c > index 3d44a4c0b99..279a31773f4 100644 > --- a/sbin/ifconfig/af_inet.c > +++ b/sbin/ifconfig/af_inet.c > @@ -141,20 +141,18 @@ in_getaddr(const char *s, int which) > sin->sin_family =3D AF_INET; > =20 > if (which =3D=3D ADDR) { > - char *p =3D NULL; > + const char *p =3D strrchr(s, '/'); > =20 > - if((p =3D strrchr(s, '/')) !=3D NULL) { > + if (p !=3D NULL) { > const char *errstr; > /* address is `name/masklen' */ > int masklen; > struct sockaddr_in *min =3D sintab[MASK]; > - *p =3D '\0'; > if (!isdigit(*(p + 1))) > errstr =3D "invalid"; > else > masklen =3D (int)strtonum(p + 1, 0, 32, &errstr); > if (errstr !=3D NULL) { > - *p =3D '/'; > errx(1, "%s: bad value (width %s)", s, errstr); > } > min->sin_family =3D AF_INET; --=20 Sebastian Huber, embedded brains GmbH Address : Dornierstr. 4, D-82178 Puchheim, Germany Phone : +49 89 189 47 41-16 Fax : +49 89 189 47 41-09 E-Mail : sebastian.huber@embedded-brains.de PGP : Public key available on request. Diese Nachricht ist keine gesch=C3=A4ftliche Mitteilung im Sinne des EHUG= .
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?b322aaef-ed43-30c4-5934-60b7bb6cbd25>