From owner-svn-src-all@freebsd.org Thu Apr 21 06:29:57 2016 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CE8B2B1677B; Thu, 21 Apr 2016 06:29:57 +0000 (UTC) (envelope-from baptiste.daroussin@gmail.com) Received: from mail-wm0-x244.google.com (mail-wm0-x244.google.com [IPv6:2a00:1450:400c:c09::244]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 7742E1C26; Thu, 21 Apr 2016 06:29:57 +0000 (UTC) (envelope-from baptiste.daroussin@gmail.com) Received: by mail-wm0-x244.google.com with SMTP id e201so15166635wme.2; Wed, 20 Apr 2016 23:29:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=MevEM0VPvHAzpGcq8aqORrSivnz3B9ctuxJvI0H+UiU=; b=eIBHZ0IcryuPocRW3riU0JOraNUZT15NRzKV2hPXzGOnnbrKLNhmMgMAx1NfUBHaKj Cw8LQLTda3Epa7aoVV2/UkXhHXTpdzCeEk4etPGFdwLTzv1QWQomQDoRS2AIxD0iBSpa UomGLO/s/Ep5y0TgEc/8vUJgW7WaxkIJW0HugkY0bT7nb+mND55xYfUv8gj2W8Q1L/mw eCsNzFs4tK3r9U8Ceb0tcUK58J1UWPh19KSaA5hrOaZP02gNbEJbh1mWkxK04kb6LU0q XSsDLPRr/3Kes0NvfAZ7uPpqOmZPW8M6/pOzmEe+V+3JB+GY41OM266maZNNAC2HcRc3 2EoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition:in-reply-to:user-agent; bh=MevEM0VPvHAzpGcq8aqORrSivnz3B9ctuxJvI0H+UiU=; b=RPfyaKdElUEv8YKsF5xKEoFKSv02jg3qwnRySJRGE0tePvbnM2RHO7NKUcGhjSrysj TyX8wIXkb9C8xADuT+IYyKlsoC2JufyY5PAXX79TTu8nKxOkIByUYfqJBYfXH1RKybjv FMx7lB7ezlecDqJTyZtui9sglavywx8+Q05gjUgxGvQfx+Nzj4yjR3BPRzzJc2ut0m29 FGRTb3k6iEJKgh9k5m7LPGwsmJEescLSfxqLMvGR7OervjteiTeSOLdDvpiVNxEml921 vyQPP29kTC+93HaVom/1kyWajB3YwdRgsFua8upyqwbfdC11JMTA289U7L4I2ouGsyvL TZPA== X-Gm-Message-State: AOPr4FVJ8ut3DbtuP0QcDUgg0iGBpHVvnVOqVGnsWtuZzgjaORgYr6lNkN40FeQDGFzyCQ== X-Received: by 10.194.63.226 with SMTP id j2mr12202371wjs.27.1461220196094; Wed, 20 Apr 2016 23:29:56 -0700 (PDT) Received: from ivaldir.etoilebsd.net ([2001:41d0:8:db4c::1]) by smtp.gmail.com with ESMTPSA id f8sm1120735wjm.13.2016.04.20.23.29.55 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 20 Apr 2016 23:29:55 -0700 (PDT) Sender: Baptiste Daroussin Date: Thu, 21 Apr 2016 08:29:53 +0200 From: Baptiste Daroussin To: Andrey Chernov Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r298367 - head/lib/libc/locale Message-ID: <20160421062953.GI26116@ivaldir.etoilebsd.net> References: <201604202044.u3KKiUMq081452@repo.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="1E1Oui4vdubnXi3o" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.6.0 (2016-04-01) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Apr 2016 06:29:57 -0000 --1E1Oui4vdubnXi3o Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Apr 21, 2016 at 05:00:20AM +0300, Andrey Chernov wrote: > On 21.04.2016 3:57, Andrey Chernov wrote: > > On 20.04.2016 23:44, Baptiste Daroussin wrote: > >> Author: bapt > >> Date: Wed Apr 20 20:44:30 2016 > >> New Revision: 298367 > >> URL: https://svnweb.freebsd.org/changeset/base/298367 > >> > >> Log: > >> Check the returned value of memchr(3) before using it > >> =20 > >> Reported by: Coverity > >> CID: 1338530 > >> > >> Modified: > >> head/lib/libc/locale/ascii.c > >> > >> Modified: head/lib/libc/locale/ascii.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/lib/libc/locale/ascii.c Wed Apr 20 20:43:05 2016 (r298366) > >> +++ head/lib/libc/locale/ascii.c Wed Apr 20 20:44:30 2016 (r298367) > >> @@ -133,11 +133,14 @@ _ascii_mbsnrtowcs(wchar_t * __restrict d > >> =20 > >> if (dst =3D=3D NULL) { > >> s =3D memchr(*src, '\0', nms); > >> + if (s =3D=3D NULL) > >> + return (nms); > >> + > >> if (*s & 0x80) { > >> errno =3D EILSEQ; > >> return ((size_t)-1); > >> } > >> - return (s !=3D NULL ? s - *src : nms); > >> + return (s - *src); > >> } > >> =20 > >> s =3D *src; > >> > >=20 > > The whole code is incorrect, only the very first char is checked, there > > must be a loop like in -stable: > >=20 > > if (dst =3D=3D NULL) { > > for (s =3D *src; nms > 0 && *s !=3D '\0'; s++, nms--) { > > if (*s & 0x80) { > > errno =3D EILSEQ; > > return ((size_t)-1); > > } > > } > > return (s - *src); > > } > >=20 > > Since svn history is lost on deleting, I don't know why incorrect > > version was committed. > >=20 >=20 > Typo, the very first =3D=3D the very last, i.e. only NUL char is checked > which always pass. >=20 I have restored the history (I hope correctly) Bapt --1E1Oui4vdubnXi3o Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJXGHNhAAoJEGOJi9zxtz5aaJkP/iWUYS7+Ez+uXI1xSKzTeG0J Ifk5U044Vp5auJWBSJz6a7Oz4ujFOJRPg4nofLf+Q0vYEUod2thY8WvlyySUlpaj alt1iqvSNLzFC1EjzbC1tv9EFFruP3QNtfDn+V1rc4gWAPlmMNrf9wXH6cHqAxEL qZGpHXhJpHR63IQDuP1ntwaXgS7wQf0K9YgkEZzKi0XZWI8mBWofzerZAGouUSHx n/xQdyc73CXq3FgLZ3yQIWJwWy7275b579IXOz6zA04+Ihl7L9y/A2swCoAI8JIM MYlJCIBq/dqk/9kYvHB/zgHXYsk75dG0Gmfjf9eS5JI89BiX06AWfX23B4Wx7AaG k39VJPPTsdqornUiwY3GHe6qkT9kHzobjDqNlzlWloD39CD1reBt8sbtqhdWkwBW gQEyxzuBDLjTlwAWgKYwuKnRbMDbVHvCVS27IzhdATFekqOkKUihSe78r0KUwRMW Awmc2GxyKTziTUIUbRUeMyXKYUhjdTJ4rOI85lClmxetc75mVcswVbk5CC7pcf17 wcFLgbn+CANsJAQ1Ei7dwWwTnd+6ziultHSK5mWeAyDKs/TkVaEexY6hj6hWTsQz B/5Dba73lw5ClWfhuGp4FvAA8mJt5xZI0oddPRERuF8OYeYCNiA1LqY64iV219g9 lHZpc/1wo6OTF/JkftNg =Z6HN -----END PGP SIGNATURE----- --1E1Oui4vdubnXi3o--