From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=0.4 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,MISSING_HEADERS,RCVD_IN_MSPIKE_H2, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.4 Received: (qmail 24371 invoked from network); 28 Apr 2023 11:41:29 -0000 Received: from second.openwall.net (193.110.157.125) by inbox.vuxu.org with ESMTPUTF8; 28 Apr 2023 11:41:29 -0000 Received: (qmail 9872 invoked by uid 550); 28 Apr 2023 11:41:14 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Reply-To: musl@lists.openwall.com Received: (qmail 9448 invoked from network); 28 Apr 2023 11:40:30 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nabijaczleweli.xyz; s=202211; t=1682682019; bh=qVCJjs01MQzjW+H6QwCvAcVz5DMAJTwAg1uFzGFwQ1U=; h=Date:From:Cc:Subject:References:In-Reply-To:From; b=GDUqQ0+OlGWojrxNKMoIwqPYTFrXRVV3nN09uSjAJ63B5F5Nc3evpf/Ou2hZI8Ikk RiGPRw+eOVUl8QbSTLwRW1qNQseF2w+NNBwVWm2QoarENQsKxqc07KKMheayXZEIJk ii52oJdellD87nzu4ouW7rS5W7TnEHkKQ9r28ZoHRScrZkFjh4p2q50Yvnp2++Wt9C Os14/+Hjp1fdPzqvBbFmq7+sWUaZ1AttdXhwaGoVVX31yVbm+8QzNoc1okT5PfkokM H8EK+KzOHyRQlGgnWkR9TsOOC3h6G3GJ7VCPm5cilUYFduBcLJj97Lq5ovpfWWjxwZ 8WpFjMvGjK+JQ== Date: Fri, 28 Apr 2023 13:40:17 +0200 From: =?utf-8?B?0L3QsNCx?= Cc: musl@lists.openwall.com Message-ID: References: <73caac41e70db544c53b1aa947627206d3eb625b.1682024413.git.nabijaczleweli@nabijaczleweli.xyz> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="inzyi5vewnbwm3x6" Content-Disposition: inline In-Reply-To: <73caac41e70db544c53b1aa947627206d3eb625b.1682024413.git.nabijaczleweli@nabijaczleweli.xyz> User-Agent: NeoMutt/20230407 Subject: [musl] [PATCH v2 2/2] regex: increase TRE_CHAR_MAX and use it for NUL with REG_STARTEND --inzyi5vewnbwm3x6 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable This character cannot be named normally, much like the NUL it's standing in for, but can be matched with catch-alls like . and [^]. This brings us to feature parity with NetBSD: $ ./a.out '^a[^w]c$' # matching "a\0c" 0 1, 4; -1, -1 $ ./a.out '^a.c$' 0 1, 4; -1, -1 $ ./a.out '.c$' 0 2, 4; -1, -1 $ ./a.out '.*' 0 1, 4; -1, -1 $ sed -i 's/cdef/adef/' a.c $ ./a.out '^\(a\).\1$' # matching "a\0a" 0 1, 4; 1, 2 --- v2: only message changed Keep me in CC: please. src/regex/regexec.c | 2 +- src/regex/tre.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/regex/regexec.c b/src/regex/regexec.c index 763dde58..f493a703 100644 --- a/src/regex/regexec.c +++ b/src/regex/regexec.c @@ -60,7 +60,7 @@ tre_fill_pmatch(size_t nmatch, regmatch_t pmatch[], int c= flags, if (!max_len) { next_c =3D L'\0'; pos_add_next =3D 1; } = \ else if ((pos_add_next =3D mbtowc(&next_c, str_byte, max_len)) <=3D 0)= { \ if (pos_add_next < 0) { ret =3D REG_NOMATCH; goto error_exit; } = \ - else { pos_add_next++; if (startend) next_c =3D -1; }; = \ + else { pos_add_next++; if (startend) next_c =3D TRE_CHAR_MAX; }; = \ } = \ str_byte +=3D pos_add_next; = \ } while (0) diff --git a/src/regex/tre.h b/src/regex/tre.h index 9aae851f..e913899a 100644 --- a/src/regex/tre.h +++ b/src/regex/tre.h @@ -50,7 +50,7 @@ typedef wchar_t tre_char_t; =20 /* Wide characters. */ typedef wint_t tre_cint_t; -#define TRE_CHAR_MAX 0x10ffff +#define TRE_CHAR_MAX (0x10ffff + 1) =20 #define tre_isalnum iswalnum #define tre_isalpha iswalpha --=20 2.30.2 --inzyi5vewnbwm3x6 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEfWlHToQCjFzAxEFjvP0LAY0mWPEFAmRLsKEACgkQvP0LAY0m WPHDtQ//Xd04g/pXoNUa+TEN2R5BxC6s+njzcxPKTaf7ZYE9um9bHjAPac4mdtIk Ru7h7ckAfNso3NKpLYwIRVzsApZAr1CDKh6YTUoLE3E0xxt2zvJgyI70sBGnDAuR CjVHb3REAbPLvyw5BxDIGMF3KbZyec08L0WWw1lAWKXtYzTpyxmu0Hp+nVOCFDT9 pAatTTx8212L/RX/4qea6BMn8pVmS9mEfJu2GMhKIgGxlWeLTBTg0JUHkTb31cPq YVekg95aXT1tkyKK2SGoi20BXaKz66PfBI51l+MtxBstL+KHGFv5j44zivODQhHK klZDQ92MvkBEqIKtjVs/zhlLpFd6jg1HYZdPauMKv4pEpC68VfXQ9CNlAQvBuw6O ZFQ6+a33kbp8q8LxLFDtDSozQfttOtWSbkL9MRiDP+58APy2MyNYCxLEUy5242nV dF0Xq+mOBc3FCsbpCtIk0OJ2+W0B6jvBWtp+/yNsCtHTVPubhH+ME6HtCs2baA0v pp0uz+IxDh7XZfGhTJy50SFG/w9KB2WUvup+j4Bwj4BoqaUw8Vqs4wpgn7lEOFIP iRUOIsVxACoChZ1zoiCcRlNWt0ZMb0sIGwqoRxAOVWGthJet2WXS1jZZpEeawmwr ZuXgUzh5Oda0pJx7HPiVb26859m6/xmSjIngT2+Cv9x0vh77n6A= =ZJl6 -----END PGP SIGNATURE----- --inzyi5vewnbwm3x6--