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

Re: [GSoC] [PATCH v4 1/8] submodule--helper: add options for compute_submodule_clone_url()

From
Atharva Raykar <raykar.ath@gmail.com>
Date
Aug 9, 2021, 08:47 UTC
Message-ID
<m2wnov9f8s.fsf@gmail.com>
In-Reply-To
<m27dgvaxfj.fsf@gmail.com>
Atharva Raykar <raykar.ath@gmail.com> writes:
Show 33 quoted lines
> Kaartic Sivaraam <kaartic.sivaraam@gmail.com> writes:
>
>> On 08/08/21 11:11 pm, Kaartic Sivaraam wrote:
>>> On 07/08/21 12:46 pm, Atharva Raykar wrote:
>>> [...]
>>>  	char *remote = get_default_remote();
>>> @@ -598,10 +598,14 @@ static char *compute_submodule_clone_url(const char *rel_url)
>>>   	strbuf_addf(&remotesb, "remote.%s.url", remote);
>>>  	if (git_config_get_string(remotesb.buf, &remoteurl)) {
>>> -		warning(_("could not look up configuration '%s'. Assuming this repository is its own authoritative upstream."), remotesb.buf);
>>> +		if (!quiet)
>>> +			warning(_("could not look up configuration '%s'. "
>>> +				  "Assuming this repository is its own "
>>> +				  "authoritative upstream."),
>>> +				remotesb.buf);
>>>  		remoteurl = xgetcwd();
>>>  	}
>>> -	relurl = relative_url(remoteurl, rel_url, NULL);
>>> +	relurl = relative_url(remoteurl, rel_url, up_path);
>>
>> After reading 2/8 of the series, I just noticed that 'remoteurl' is always
>> initialized in 'resolve_realtive_url'. It is either initialized to the return
>> value of 'xgetcwd' or retains its assigned value of 'NULL'. But it looks
>> like that's not the case here. 'remoteurl' could be used uninitialized
>> when the above if block does not get executed which in turn could result in
>> weird behaviour in case 'remoteurl' gets a value of anything other than 'NULL'
>> at runtime.
>>
>> This again has nothing to do with the change done in this patch. Regardless, it
>> looks like something worth correcting. Thus, I thought of pointing it out.
>>
>
> Right. I agree it should be corrected.

Actually on having another look, I'm not sure if we need to assign NULL to 'remoteurl' at all.

The 'if (git_config_get_string(...))' on success will allocate 'remoteurl'. If it fails, it will be given the return value of 'xgetcwd()'. There is nothing in the config API docs that suggest a success mode for the git_config_get_*() functions that will assign nothing to the buffer we give it. Therefore, by the time we get to the variable's first use in the 'relative_url()' function, we are guaranteed to have a well-defined value.

It seems to me that the original 'resolve_relative_url()' had an unnecessary NULL initialization.

Previous: Atharva RaykarNext: Kaartic Sivaraam
Message 49 of 78 in “submodule: convert the rest of 'add' to C”
  1. Atharva RaykarAug 5, 2021
  2. [GSoC] [PATCH 1/8] submodule--helper: refactor resolve_relative_url() helperAtharva Raykar, Aug 5, 2021
  3. [GSoC] [PATCH 2/8] submodule--helper: remove repeated code in sync_submodule()Atharva Raykar, Aug 5, 2021
  4. Đoàn Trần Công DanhAug 6, 2021
  5. Christian CouderAug 6, 2021
  6. Atharva RaykarAug 6, 2021
  7. Junio C HamanoAug 6, 2021
  8. [GSoC] [PATCH 3/8] dir: libify and export helper functions from clone.cAtharva Raykar, Aug 5, 2021
  9. [GSoC] [PATCH 4/8] submodule--helper: remove constness of sm_pathAtharva Raykar, Aug 5, 2021
  10. [GSoC] [PATCH 5/8] submodule--helper: convert the bulk of cmd_add() to CAtharva Raykar, Aug 5, 2021
  11. [GSoC] [PATCH 6/8] submodule--helper: remove add-clone subcommandAtharva Raykar, Aug 5, 2021
  12. [GSoC] [PATCH 8/8] submodule--helper: remove resolve-relative-url subcommandAtharva Raykar, Aug 5, 2021
  13. [GSoC] [PATCH 7/8] submodule--helper: remove add-config subcommandAtharva Raykar, Aug 5, 2021
  14. [GSoC] [PATCH v2 0/9] submodule: convert the rest of 'add' to CAtharva Raykar, Aug 5, 2021
  15. [GSoC] [PATCH v2 1/9] submodule--helper: add options for compute_submodule_clone_url()Atharva Raykar, Aug 5, 2021
  16. Junio C HamanoAug 5, 2021
  17. [GSoC] [PATCH v2 2/9] submodule--helper: refactor resolve_relative_url() helperAtharva Raykar, Aug 5, 2021
  18. Junio C HamanoAug 5, 2021
  19. [GSoC] [PATCH v2 3/9] submodule--helper: remove repeated code in sync_submodule()Atharva Raykar, Aug 5, 2021
  20. Junio C HamanoAug 5, 2021
  21. [GSoC] [PATCH v2 4/9] dir: libify and export helper functions from clone.cAtharva Raykar, Aug 5, 2021
  22. Junio C HamanoAug 5, 2021
  23. Atharva RaykarAug 6, 2021
  24. Junio C HamanoAug 6, 2021
  25. Atharva RaykarAug 7, 2021
  26. [GSoC] [PATCH v2 5/9] submodule--helper: remove constness of sm_pathAtharva Raykar, Aug 5, 2021
  27. Junio C HamanoAug 5, 2021
  28. Atharva RaykarAug 6, 2021
  29. [GSoC] [PATCH v2 6/9] submodule--helper: convert the bulk of cmd_add() to CAtharva Raykar, Aug 5, 2021
  30. Đoàn Trần Công DanhAug 6, 2021
  31. Atharva RaykarAug 6, 2021
  32. [GSoC] [PATCH v2 7/9] submodule--helper: remove add-clone subcommandAtharva Raykar, Aug 5, 2021
  33. [GSoC] [PATCH v2 8/9] submodule--helper: remove add-config subcommandAtharva Raykar, Aug 5, 2021
  34. [GSoC] [PATCH v2 9/9] submodule--helper: remove resolve-relative-url subcommandAtharva Raykar, Aug 5, 2021
  35. [GSoC] [PATCH v3 0/8] submodule: convert the rest of 'add' to CAtharva Raykar, Aug 6, 2021
  36. [GSoC] [PATCH v3 1/8] submodule--helper: add options for compute_submodule_clone_url()Atharva Raykar, Aug 6, 2021
  37. [GSoC] [PATCH v3 2/8] submodule--helper: refactor resolve_relative_url() helperAtharva Raykar, Aug 6, 2021
  38. [GSoC] [PATCH v3 3/8] submodule--helper: remove repeated code in sync_submodule()Atharva Raykar, Aug 6, 2021
  39. [GSoC] [PATCH v3 4/8] dir: libify and export helper functions from clone.cAtharva Raykar, Aug 6, 2021
  40. [GSoC] [PATCH v3 5/8] submodule--helper: convert the bulk of cmd_add() to CAtharva Raykar, Aug 6, 2021
  41. [GSoC] [PATCH v3 6/8] submodule--helper: remove add-clone subcommandAtharva Raykar, Aug 6, 2021
  42. [GSoC] [PATCH v3 7/8] submodule--helper: remove add-config subcommandAtharva Raykar, Aug 6, 2021
  43. [GSoC] [PATCH v3 8/8] submodule--helper: remove resolve-relative-url subcommandAtharva Raykar, Aug 6, 2021
  44. [GSoC] [PATCH v4 0/8] submodule: convert the rest of 'add' to CAtharva Raykar, Aug 7, 2021
  45. [GSoC] [PATCH v4 1/8] submodule--helper: add options for compute_submodule_clone_url()Atharva Raykar, Aug 7, 2021
  46. Kaartic SivaraamAug 8, 2021
  47. Kaartic SivaraamAug 8, 2021
  48. Atharva RaykarAug 9, 2021
  49. Atharva RaykarAug 9, 2021
  50. Kaartic SivaraamAug 10, 2021
  51. [GSoC] [PATCH v4 2/8] submodule--helper: refactor resolve_relative_url() helperAtharva Raykar, Aug 7, 2021
  52. [GSoC] [PATCH v4 3/8] submodule--helper: remove repeated code in sync_submodule()Atharva Raykar, Aug 7, 2021
  53. Kaartic SivaraamAug 8, 2021
  54. Atharva RaykarAug 9, 2021
  55. [GSoC] [PATCH v4 4/8] dir: libify and export helper functions from clone.cAtharva Raykar, Aug 7, 2021
  56. Kaartic SivaraamAug 8, 2021
  57. Atharva RaykarAug 9, 2021
  58. Kaartic SivaraamAug 10, 2021
  59. Junio C HamanoAug 10, 2021
  60. Atharva RaykarAug 11, 2021
  61. [GSoC] [PATCH v4 5/8] submodule--helper: convert the bulk of cmd_add() to CAtharva Raykar, Aug 7, 2021
  62. [GSoC] [PATCH v4 6/8] submodule--helper: remove add-clone subcommandAtharva Raykar, Aug 7, 2021
  63. [GSoC] [PATCH v4 7/8] submodule--helper: remove add-config subcommandAtharva Raykar, Aug 7, 2021
  64. [GSoC] [PATCH v4 8/8] submodule--helper: remove resolve-relative-url subcommandAtharva Raykar, Aug 7, 2021
  65. Kaartic SivaraamAug 8, 2021
  66. [GSoC] [PATCH v5 0/9] submodule: convert the rest of 'add' to CAtharva Raykar, Aug 10, 2021
  67. [GSoC] [PATCH v5 1/9] submodule--helper: add options for compute_submodule_clone_url()Atharva Raykar, Aug 10, 2021
  68. Bagas SanjayaAug 11, 2021
  69. Atharva RaykarAug 11, 2021
  70. [GSoC] [PATCH v5 3/9] submodule--helper: remove repeated code in sync_submodule()Atharva Raykar, Aug 10, 2021
  71. [GSoC] [PATCH v5 2/9] submodule--helper: refactor resolve_relative_url() helperAtharva Raykar, Aug 10, 2021
  72. [GSoC] [PATCH v5 4/9] dir: libify and export helper functions from clone.cAtharva Raykar, Aug 10, 2021
  73. [GSoC] [PATCH v5 5/9] submodule--helper: convert the bulk of cmd_add() to CAtharva Raykar, Aug 10, 2021
  74. [GSoC] [PATCH v5 6/9] submodule--helper: remove add-clone subcommandAtharva Raykar, Aug 10, 2021
  75. [GSoC] [PATCH v5 9/9] submodule--helper: rename compute_submodule_clone_url()Atharva Raykar, Aug 10, 2021
  76. [GSoC] [PATCH v5 8/9] submodule--helper: remove resolve-relative-url subcommandAtharva Raykar, Aug 10, 2021
  77. [GSoC] [PATCH v5 7/9] submodule--helper: remove add-config subcommandAtharva Raykar, Aug 10, 2021
  78. Junio C HamanoSep 8, 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.