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

Re: [PATCH] add-interactive: reject malformed numerical input

From
SCSeonghyeon Cho <seonghyeoncho96@gmail.com>
Date
Sep 7, 2025, 12:24 UTC
Message-ID
<aL15aTmKQOsNrF0D@Seonghyeons-Mac-Studio.local>
In-Reply-To
<aLaz7yCXWGG2_oP_@pks.im>
On Tue, Sep 02, 2025 at 11:07:59AM +0200, Patrick Steinhardt wrote:
Show 5 quoted lines
> Okay, that does feel fishy indeed. It would be good though to have a
> test case that demonstrates the new behaviour and at the same time
> ensures that we don't regress in the future. You can have a look at
> "t3701-add-interactive.sh", which has a bunch of other tests for this
> command, as well.
Okay, I'll add tests.
Show 10 quoted lines
> In general though we're not doing a good job here of error checking. We
> don't at all verify whether `strtoul()` returned an error, for example
> ERANGE. So if a user passes an integer that exceeds whatever we can
> store in an `unsigned long` we'll silently proceed with a bogus result,
> won't we?
> 
> Ideally, we'd use a saner interface to parse these integers, like for
> example our own `git_parse_ulong()`. But unfortunately, that interface
> does not handle the case where we only want to parse a substring in a
> longer string. Too bad.

Good point. Would you prefer I introduce new parse method here, or should this be handled in separate patch?

> Coding style: the `else` should sit on the same line as the closing
> curly brace. And furthermore, if one of the branches of an if-else chain
> requires curly braces, then all branches should have curly braces.
Ok, I'll fix coding styles.

Thanks, Seonghyeon

Previous: Patrick SteinhardtNext: Patrick Steinhardt
Message 3 of 5 in “add-interactive: reject malformed numerical input”
  1. add-interactive: reject malformed numerical inputSeonghyeon Cho (조성현) via GitGitGadget, Aug 30, 2025
  2. Patrick SteinhardtSep 2, 2025
  3. Seonghyeon ChoSep 7, 2025
  4. Patrick SteinhardtSep 8, 2025
  5. Seonghyeon ChoSep 8, 2025

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.