From: Adrian Ratiu <adrian.ratiu@collabora•com>
To: git@vger•kernel.org
Cc: Junio C Hamano <gitster@pobox•com>,
Patrick Steinhardt <ps@pks•im>,
Emily Shaffer <emilyshaffer@google•com>,
Adrian Ratiu <adrian.ratiu@collabora•com>,
correctmost <cmlists@sent•com>
Subject: [PATCH][next] hook: check for NULL pointer before deref
Date: Fri, 9 Jan 2026 17:35:28 +0200 [thread overview]
Message-ID: <20260109153528.476163-1-adrian.ratiu@collabora.com> (raw)
Fix a compiler warning (-Werror=analyzer-deref-before-check) due to
dereferencing the options pointer before NULL checking it.
In practice run_hooks_opt() is never called with a NULL opt struct,
so this just fixes the code to not trigger the warning anymore.
The NULL check is kept as-is because some future patches might end up
calling run_hooks_opt with a NULL opt struct, which is clearly a bug.
While at it, also fix the BUG message function name.
Reported-by: correctmost <cmlists@sent•com>
Suggested-by: Patrick Steinhardt <ps@pks•im>
Signed-off-by: Adrian Ratiu <adrian.ratiu@collabora•com>
---
This is based on next, because it fixes a warning introduced in next.
Succesful CI run: https://github.com/10ne1/git/actions/runs/20855922803
---
hook.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/hook.c b/hook.c
index 35211e5ed7..c257bd3940 100644
--- a/hook.c
+++ b/hook.c
@@ -148,12 +148,11 @@ int run_hooks_opt(struct repository *r, const char *hook_name,
};
const char *const hook_path = find_hook(r, hook_name);
int ret = 0;
- const struct run_process_parallel_opts opts = {
+ struct run_process_parallel_opts opts = {
.tr2_category = "hook",
.tr2_label = hook_name,
.processes = 1,
- .ungroup = options->ungroup,
.get_next_task = pick_next_hook,
.start_failure = notify_start_failure,
@@ -165,11 +164,13 @@ int run_hooks_opt(struct repository *r, const char *hook_name,
};
if (!options)
- BUG("a struct run_hooks_opt must be provided to run_hooks");
+ BUG("a struct run_hooks_opt must be provided to run_hooks_opt");
if (options->path_to_stdin && options->feed_pipe)
BUG("options path_to_stdin and feed_pipe are mutually exclusive");
+ opts.ungroup = options->ungroup;
+
if (options->invoked_hook)
*options->invoked_hook = 0;
--
2.51.2
next reply other threads:[~2026-01-09 15:36 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-09 15:35 Adrian Ratiu [this message]
2026-01-09 15:51 ` [PATCH][next] hook: check for NULL pointer before deref Patrick Steinhardt
2026-01-09 15:57 ` Adrian Ratiu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260109153528.476163-1-adrian.ratiu@collabora.com \
--to=adrian.ratiu@collabora$(echo .)com \
--cc=cmlists@sent$(echo .)com \
--cc=emilyshaffer@google$(echo .)com \
--cc=git@vger$(echo .)kernel.org \
--cc=gitster@pobox$(echo .)com \
--cc=ps@pks$(echo .)im \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox