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

Re: [PATCH] strtoul_ui: actually report error in case of negative input

From
Max Kirillov <max@max630.net>
Date
Sep 14, 2015, 20:26 UTC
Message-ID
<20150914202647.GA7806@wheezy.local>
In-Reply-To
<vpqr3m1seap.fsf@anie.imag.fr>
On Mon, Sep 14, 2015 at 08:30:54AM +0200, Matthieu Moy wrote:
Show 6 quoted lines
>> Fix it by changing the last check to trigger earlier, as soon as it
>> becomes bigger than INT_MAX.
> 
> What if the value is actually greater than INT_MAX? The function is
> returning an unsigned long (64 bits on 64bits architectures), and your
> version is restricting it to integers smaller than 2^31, right?

the return type of the function is "int", so this is not going to work anyway.

As I mentioned, some negative values are still accepted as coresponding mod 2**32 positive numbers (-3221225472 as 1073741824), so there really is room for improvement, but it cannot be accomplished just by examining strtoul output.

I saw in the list archives an attempt to abandon the function in favor of more accurate parser [1], but seems like it did not make it into the project.

[1] http://thread.gmane.org/gmane.comp.version-control.git/265635
-- 
Max
Previous: Matthieu MoyNext: Matthieu Moy
Message 3 of 7 in “strtoul_ui: actually report error in case of negative input”
  1. strtoul_ui: actually report error in case of negative inputMax Kirillov, Sep 13, 2015
  2. Matthieu MoySep 14, 2015
  3. Max KirillovSep 14, 2015
  4. Matthieu MoySep 15, 2015
  5. Junio C HamanoSep 16, 2015
  6. Max KirillovSep 16, 2015
  7. Matthieu MoySep 16, 2015

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.