git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] commit: reject non-characters

From
Junio C Hamano <gitster@pobox.com>
Date
Aug 5, 2013, 16:54 UTC
Message-ID
<7vpptskrhd.fsf@alter.siamese.dyndns.org>
In-Reply-To
<alpine.DEB.2.00.1308051346530.3657@ds9.cixit.se>
Peter Krefting <peter@softwolves.pp.se> writes:
Show 11 quoted lines
> Peter Krefting:
>
>> -		/* U+FFFE and U+FFFF are guaranteed non-characters. */
>> -		if ((codepoint & 0x1ffffe) == 0xfffe)
>> +		/* U+xxFFFE and U+xxFFFF are guaranteed non-characters. */
>> +		if ((codepoint & 0xffffe) == 0xfffe)
>> +			return bad_offset;
>
> Drats, there is an F too many in the bitmask, it should be:
>
>  +		if ((codepoint & 0xfffe) == 0xfffe)
Indeed.
-- >8 --
Subject: [PATCH] commit: typofix for xxFFF[EF] check

We wanted to catch all codepoints that ends with FFFE and FFFF, not with 0FFFE and 0FFFF.

Noticed and corrected by Peter Krefting.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 commit.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/commit.c b/commit.c
index 7dcfeea..38d8979 100644
--- a/commit.c
+++ b/commit.c
@@ -1306,7 +1306,7 @@ static int find_invalid_utf8(const char *buf, int len)
 		if ((codepoint & 0x1ff800) == 0xd800)
 			return bad_offset;
 		/* U+xxFFFE and U+xxFFFF are guaranteed non-characters. */
-		if ((codepoint & 0xffffe) == 0xfffe)
+		if ((codepoint & 0xfffe) == 0xfffe)
 			return bad_offset;
 		/* So are anything in the range U+FDD0..U+FDEF. */
 		if (codepoint >= 0xfdd0 && codepoint <= 0xfdef)
-- 
1.8.4-rc1-129-g1f3472b
Previous: Peter KreftingNext: Peter Krefting
Message 9 of 11 in “commit: improve UTF-8 validation”
  1. 0/2 commit: improve UTF-8 validationbrian m. carlson, Jul 4, 2013
  2. 1/2 commit: reject invalid UTF-8 codepointsbrian m. carlson, Jul 4, 2013
  3. Torsten BögershausenJul 4, 2013
  4. brian m. carlsonJul 4, 2013
  5. Peter KreftingJul 5, 2013
  6. Junio C HamanoJul 8, 2013
  7. commit: reject non-charactersPeter Krefting, Jul 9, 2013
  8. Peter KreftingAug 5, 2013
  9. Junio C HamanoAug 5, 2013
  10. Peter KreftingAug 6, 2013
  11. 2/2 commit: reject overlong UTF-8 sequencesbrian m. carlson, Jul 4, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.