From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from tarta.nabijaczleweli.xyz (unknown [139.28.40.42]) by sourceware.org (Postfix) with ESMTP id 928BC3858416 for ; Mon, 29 May 2023 13:22:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 928BC3858416 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=nabijaczleweli.xyz Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=nabijaczleweli.xyz Received: from tarta.nabijaczleweli.xyz (unknown [192.168.1.250]) by tarta.nabijaczleweli.xyz (Postfix) with ESMTPSA id E28E491B8 for ; Mon, 29 May 2023 15:22:43 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nabijaczleweli.xyz; s=202305; t=1685366563; bh=dUIl2SxNVSUMbWb4jeo/aejNTVjeyLduPsrvDzaqAWg=; h=Date:From:Cc:Subject:References:In-Reply-To:From; b=d8i8kowW0LgEhVXyC4Kq6K7BTZkFXLitcx5ayIfg/yuQiqK1YO8X3grRSrgcEe1GF nxEc9+TEqi8sLaoe0QHSVI4yeXZ2f2vCv/Ylf5rBUkL+rV7VUMp9EJ+irdirikktPE JYZ3z8bANgLFbHQxN35JMKUQp6O6db4uPKbF7e8OrX8xYSRgRtcLZGoX5nMyAOgOVa c0Vg1hxzwHnhSQoNwQA8ZBXUybTglA/4tAfEdLDdIt1w9fqINxl7LeUG58xoJUFDM6 LZWu/A9Io8oESLx1rI1MZv4fP5Dv5gRdlIQMvsUG4YH2RYF79432bU2R/jFnNfQZMH 5fih4Zq1yMH/Q== Date: Mon, 29 May 2023 15:22:42 +0200 From: =?utf-8?B?0L3QsNCx?= Cc: libc-alpha@sourceware.org Subject: [PATCH v5 2/3] posix: regcomp(): clear RE_DOT_NOT_NULL Message-ID: References: <1d5642ecb4bb477c9fd7e1ebaee868fe4ccbefc7.1683500149.git.nabijaczleweli@nabijaczleweli.xyz> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="63bv63fnfiefrnwj" Content-Disposition: inline In-Reply-To: <1d5642ecb4bb477c9fd7e1ebaee868fe4ccbefc7.1683500149.git.nabijaczleweli@nabijaczleweli.xyz> User-Agent: NeoMutt/20230517 X-Spam-Status: No, score=-9.8 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,KAM_INFOUSMEBIZ,MISSING_HEADERS,PDS_RDNS_DYNAMIC_FP,RDNS_DYNAMIC,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --63bv63fnfiefrnwj Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable The POSIX API always stops at first NUL so there's no change for that. The BSD REG_STARTEND API, with its explicit range, can include NULs within that range, and those NULs are matched with . and [^]. Heretofor, for a string of "a\0c", glibc would match "[^q]c", but not ".c". This is both inconsistent and nonconformant to BSD REG_STARTEND. With this patch, they're identical like you'd expect, and the tst-reg-startend.c: ..c: a^@c: no match$ failure is removed. Another approach would be to remove it from _RE_SYNTAX_POSIX_COMMON, but it's unclear to me what the custody chain is like for that and what other regex APIs glibc offers that could be affected by this. Signed-off-by: Ahelenia Ziemia=C5=84ska --- posix/regcomp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/posix/regcomp.c b/posix/regcomp.c index 12650714c0..a928ef6c2d 100644 --- a/posix/regcomp.c +++ b/posix/regcomp.c @@ -462,7 +462,7 @@ regcomp (regex_t *__restrict preg, const char *__restri= ct pattern, int cflags) { reg_errcode_t ret; reg_syntax_t syntax =3D ((cflags & REG_EXTENDED) ? RE_SYNTAX_POSIX_EXTEN= DED - : RE_SYNTAX_POSIX_BASIC); + : RE_SYNTAX_POSIX_BASIC) & ~RE_DOT_NOT_NULL; =20 preg->buffer =3D NULL; preg->allocated =3D 0; --=20 2.30.2 --63bv63fnfiefrnwj Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEfWlHToQCjFzAxEFjvP0LAY0mWPEFAmR0pyIACgkQvP0LAY0m WPG8Fg//RGEXrihK3aoTQoqE6gZQ3hWhkomRx/8TD1tbgd15b2h8PBXIQPnqcq2T 0c1ltFX9Q8rTR7c/nuRWLs1gWEJgwDxffdbLNqtoyWgxS9FFzolnHDQDyRZbemAe C8cASaGEjSaF42GSiMXSUPVvW1jQUtcau6D7kmREJ4wKLiPVKa/tjY0p6P6h7Wqx jiA9Dj99WEpmDWbtz2IF/nVBf83FzyDpkwjQzm7F9XJLwTx6/2rXW0dmQmdSqCDA Os4k/gk1LKWzQZ22T1xtzkDvvduLUAG8FCH8pnFveMln6QPtx2hN2KOss3Lz0+k4 KRfctSW+GGnQvilreiXEWqTqE5oYgVEaHAyQ9aRXBktIADdblhSLSMvjzjp7nUkY YjhV6UcrxZiF2nyVkzVoJ+F+e5+5cAbHwMyMp3j1DkrBXvml+TlXIFmgaFfGXhWd vVcaiJ8K7RUFtXUEIIgd62EUFJJXsrG2afnii8D9h/etDFEfaDkMNVlWEXODL8Fo nfZ9D5TzRxa70ZUmWAUDXxnTzuv2vQz9CSaClu+dHQnObCSXirsE4DnuebnZ+oFy n9MZlxmZ/XyrILs7KyvLd0UCT1w45j+UcJ+vZ/+UKu18Y+lI0DWnDG4E+x6spqiO eRoQGzoa2KZhkyP0XnikNF5zeGWN0mL0cQC45Ny4aF/3jFiw/sM= =pMjW -----END PGP SIGNATURE----- --63bv63fnfiefrnwj--