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

Re: [PATCH 2/4] submodule--helper clone: simplify path check

From
Eric Sunshine <sunshine@sunshineco.com>
Date
Mar 31, 2016, 17:04 UTC
Message-ID
<CAPig+cRq3CoE1mH9=TeKnujQYVb0+tURpYNSsRKtnK_FTDyBAQ@mail.gmail.com>
In-Reply-To
<xmqqlh4yppsq.fsf@gitster.mtv.corp.google.com>
On Thu, Mar 31, 2016 at 12:36 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 15 quoted lines
> Stefan Beller <sbeller@google.com> writes:
>
>> The calling shell code makes sure that `path` is non null and non empty.
>> (side note: it cannot be null as just three lines before it is passed
>> to safe_create_leading_directories_const which would crash as you feed
>> it null).
>
> This is not Java so let's spell that thing NULL.
>
> Perhaps it would be cheap-enough prudence to do this on top?
>
>         argc = parse_options(argc, argv, prefix, module_clone_options,
>                              git_submodule_helper_usage, 0);
>
> +       assert(path);

Hmm, from the user perspective, this is still a "crash", just as the existing segfault is a crash. While one can argue that this is an internal command only invoked in a controlled fashion, it's not hard to imagine someone running it manually to understand its behavior or to debug some problem. This function already presents proper error messages for other problems it encounters, so it seems reasonable for it do so for this problem, as well.

    if (!path || !*path)
        die(_("submodule--helper: unspecified or empty --path"));
Previous: Junio C HamanoNext: Stefan Beller
Message 10 of 17 in “Fix relative path issues in recursive submodules.”
  1. 0/4 Fix relative path issues in recursive submodules.Stefan Beller, Mar 31, 2016
  2. 1/4 recursive submodules: test for relative pathsStefan Beller, Mar 31, 2016
  3. Junio C HamanoMar 31, 2016
  4. Stefan BellerMar 31, 2016
  5. 2/4 submodule--helper clone: simplify path checkStefan Beller, Mar 31, 2016
  6. Jacob KellerMar 31, 2016
  7. Eric SunshineMar 31, 2016
  8. Stefan BellerMar 31, 2016
  9. Junio C HamanoMar 31, 2016
  10. Eric SunshineMar 31, 2016
  11. 3/4 submodule--helper clone: remove double path checkingStefan Beller, Mar 31, 2016
  12. Junio C HamanoMar 31, 2016
  13. 4/4 submodule--helper: use relative path if possibleStefan Beller, Mar 31, 2016
  14. Junio C HamanoMar 31, 2016
  15. Stefan BellerMar 31, 2016
  16. Junio C HamanoMar 31, 2016
  17. Stefan BellerMar 31, 2016

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.