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

Re: [PATCH] mergesort: avoid left shift overflow

From
René Scharfe <l.s.r@web.de>
Date
Nov 19, 2021, 17:15 UTC
Message-ID
<fb70a801-369b-c1b1-457b-bab06688b2bc@web.de>
In-Reply-To
<nycvar.QRO.7.76.6.2111191750400.63@tvgsbejvaqbjf.bet>
Am 19.11.21 um 17:51 schrieb Johannes Schindelin:
Show 11 quoted lines
> Hi Philip,
>
> On Thu, 18 Nov 2021, Philip Oakley wrote:
>
>> I already had this locally as part of an MSVC (Visual Studio) fix for
>> the various C4334 warnings.
>>
>> The other cases are in object-file.c, diffcore-delta.c (2 occurrences) ,
>> and repack.c.
>>
>> My patches are in https://github.com/PhilipOakley/git/tree/oneU_t
Good warning, that.  And scary stuff.

builtin/repack.c shifts by 5, diffcore-delta.c by at most 17 IIUC, and object-file.c by at most 31, which should all be safe. Shifting by 32 or more would push the 1 off the right end, leaving only a surprising 0. Phew! Definitely worth fixing regardless.

> How about rebasing the remaining patches from
> https://github.com/git-for-windows/git/compare/main...PhilipOakley:oneU_t
> on top of `rs/mergesort` and then submitting them, to avoid duplicate
> efforts?

That would be nice. I'd also don't mind if Junio took the whole set incl. the mergesort.c change instead.

René
Previous: Johannes SchindelinNext: Philip Oakley
Message 7 of 10 in “mergesort: avoid left shift overflow”
  1. mergesort: avoid left shift overflowRené Scharfe, Nov 15, 2021
  2. Johannes SchindelinNov 16, 2021
  3. Junio C HamanoNov 17, 2021
  4. Johannes SchindelinNov 17, 2021
  5. Philip OakleyNov 18, 2021
  6. Johannes SchindelinNov 19, 2021
  7. René ScharfeNov 19, 2021
  8. Philip OakleyNov 19, 2021
  9. Junio C HamanoNov 19, 2021
  10. Philip OakleyNov 19, 2021

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.