Some varargs functions that use NULL-terminated parameter list were missing __attributes__ ((sentinel)) aka LAST_ARG_MUST_BE_NULL. Add them. Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx> --- add-patch.c | 1 + attr.h | 2 ++ hook.h | 1 + scalar.c | 1 + 4 files changed, 5 insertions(+) diff --git a/add-patch.c b/add-patch.c index 814de57c4a..d8ea05ff10 100644 --- a/add-patch.c +++ b/add-patch.c @@ -299,6 +299,7 @@ static void err(struct add_p_state *s, const char *fmt, ...) va_end(args); } +LAST_ARG_MUST_BE_NULL static void setup_child_process(struct add_p_state *s, struct child_process *cp, ...) { diff --git a/attr.h b/attr.h index e7cc318b0c..bb33b60880 100644 --- a/attr.h +++ b/attr.h @@ -190,6 +190,8 @@ struct attr_check { }; struct attr_check *attr_check_alloc(void); + +LAST_ARG_MUST_BE_NULL struct attr_check *attr_check_initl(const char *, ...); struct attr_check *attr_check_dup(const struct attr_check *check); diff --git a/hook.h b/hook.h index 19ab9a5806..6511525aeb 100644 --- a/hook.h +++ b/hook.h @@ -86,5 +86,6 @@ int run_hooks(const char *hook_name); * argument. These things will be used as positional arguments to the * hook. This function behaves like the old run_hook_le() API. */ +LAST_ARG_MUST_BE_NULL int run_hooks_l(const char *hook_name, ...); #endif diff --git a/scalar.c b/scalar.c index 331b91dbdb..62dd77aaec 100644 --- a/scalar.c +++ b/scalar.c @@ -70,6 +70,7 @@ static void setup_enlistment_directory(int argc, const char **argv, strbuf_release(&path); } +LAST_ARG_MUST_BE_NULL static int run_git(const char *arg, ...) { struct child_process cmd = CHILD_PROCESS_INIT; -- 2.45.2-445-g1b76f06508