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

[PATCH 0/4] varargs functions with __attributes__(())

From
Junio C Hamano <gitster@pobox.com>
Date
Jun 8, 2024, 18:37 UTC
Message-ID
<20240608183747.2084294-1-gitster@pobox.com>

There are several varargs functions that take either NULL-terminated list of parameters, or printf-like format followed by list of parameters, that are not declared as such with __attributes__(()).

Adding such a missing attribute to trace2_region_enter_printf() revealed that an existing call to it was trying to format a value of type size_t using "%d", which is not such an excellent idea. Other functions that were lacking attributes fortunately did not have any broken existing callers.

Junio C Hamano (4):
  __attribute__: trace2_region_enter_printf() is like "printf"
  __attribute__: remove redundant __attribute__ declaration for
    git_die_config()
  __attribute__: mark some functions with LAST_ARG_MUST_BE_NULL
  __attribute__: add a few missing format attributes
 add-patch.c   | 1 +
 attr.h        | 2 ++
 config.c      | 1 -
 hook.h        | 1 +
 mem-pool.h    | 1 +
 run-command.c | 3 ++-
 scalar.c      | 2 ++
 trace2.h      | 1 +
 wt-status.c   | 1 +
 9 files changed, 11 insertions(+), 2 deletions(-)
-- 
2.45.2-445-g1b76f06508
Next: Junio C Hamano
Message 1 of 9 in “varargs functions with __attributes__(())”
  1. 0/4 varargs functions with __attributes__(())Junio C Hamano, Jun 8, 2024
  2. 1/4 __attribute__: trace2_region_enter_printf() is like "printf"Junio C Hamano, Jun 8, 2024
  3. Patrick SteinhardtJun 10, 2024
  4. Junio C HamanoJun 10, 2024
  5. 2/4 __attribute__: remove redundant attribute declaration for git_die_config()Junio C Hamano, Jun 8, 2024
  6. 3/4 __attribute__: mark some functions with LAST_ARG_MUST_BE_NULLJunio C Hamano, Jun 8, 2024
  7. 4/4 __attribute__: add a few missing format attributesJunio C Hamano, Jun 8, 2024
  8. Jeff KingJun 11, 2024
  9. Junio C HamanoJun 11, 2024

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.