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

Re: [PATCH v3] builtin/mv.c: use the MOVE_ARRAY() macro instead of memmove()

From
Derrick Stolee <derrickstolee@github.com>
Date
Jul 18, 2022, 20:30 UTC
Message-ID
<a27913f5-797d-3de2-4c73-5c1b8e654d44@github.com>
In-Reply-To
<xmqq4jzpu4xp.fsf_-_@gitster.g>
On 7/9/2022 9:33 PM, Junio C Hamano wrote:
Show 16 quoted lines
> The variables 'source', 'destination', and 'submodule_gitfile' are
> all of type "const char **", and an element of such an array is of
> "type const char *", but these memmove() calls were written as if
> these variables are of type "char **".
> 
> Once these memmove() calls are fixed to use the correct type to
> compute the number of bytes to be moved, e.g.
> 
> -      memmove(source + i, source + i + 1, n * sizeof(char *));
> +      memmove(source + i, source + i + 1, n * sizeof(const char *));
> 
> existing contrib/coccinelle/array.cocci rules can recognize them as
> candidates for turning into MOVE_ARRAY().
> 
> While at it, use CALLOC_ARRAY() instead of xcalloc() to allocate the
> modes[] array that is involved in the change.

I'm super late in noticing this, but these changes will fix the static-analysis build in the CI build, so the sooner this can make it to master the better.

Thanks! -Stolee

Previous: Junio C HamanoNext: Ævar Arnfjörð Bjarmason
Message 4 of 18 in “builtin/mv.c: use correct type to compute size of an array element”
  1. builtin/mv.c: use correct type to compute size of an array elementJunio C Hamano, Jul 7, 2022
  2. builtin/mv.c: use the MOVE_ARRAY() macro instead of memmove()Junio C Hamano, Jul 7, 2022
  3. builtin/mv.c: use the MOVE_ARRAY() macro instead of memmove()Junio C Hamano, Jul 10, 2022
  4. Derrick StoleeJul 18, 2022
  5. Ævar Arnfjörð BjarmasonJul 7, 2022
  6. Junio C HamanoJul 7, 2022
  7. René ScharfeJul 7, 2022
  8. René ScharfeJul 9, 2022
  9. Junio C HamanoJul 10, 2022
  10. cocci: avoid normalization rules for memcpyRené Scharfe, Jul 10, 2022
  11. Ævar Arnfjörð BjarmasonJul 10, 2022
  12. Ævar Arnfjörð BjarmasonJul 10, 2022
  13. Junio C HamanoJul 10, 2022
  14. René ScharfeJul 11, 2022
  15. Ævar Arnfjörð BjarmasonJul 11, 2022
  16. René ScharfeJul 7, 2022
  17. Jeff KingJul 7, 2022
  18. Junio C HamanoJul 7, 2022

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.