diff options
author | Jeff King <peff@peff.net> | 2015-08-10 05:37:45 -0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-08-10 15:37:13 -0700 |
commit | 03f2c7731b59de75357730bc511ffa8847e1fb81 (patch) | |
tree | dc1ffb12f1ab50f46c811b73402ce5beca71c45b /run-command.h | |
parent | 470e28d4e16dd994cd985914377fa8ccb5f86227 (diff) | |
download | git-03f2c7731b59de75357730bc511ffa8847e1fb81.tar.gz |
find_hook: keep our own static buffer
The find_hook function returns the results of git_path,
which is a static buffer shared by other path-related calls.
Returning such a buffer is slightly dangerous, because it
can be overwritten by seemingly unrelated functions.
Let's at least keep our _own_ static buffer, so you can
only get in trouble by calling find_hook in quick
succession, which is less likely to happen and more obvious
to notice.
While we're at it, let's add some documentation of the
function's limitations.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'run-command.h')
-rw-r--r-- | run-command.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/run-command.h b/run-command.h index 1103805af1..5b4425a3cb 100644 --- a/run-command.h +++ b/run-command.h @@ -52,6 +52,11 @@ int start_command(struct child_process *); int finish_command(struct child_process *); int run_command(struct child_process *); +/* + * Returns the path to the hook file, or NULL if the hook is missing + * or disabled. Note that this points to static storage that will be + * overwritten by further calls to find_hook and run_hook_*. + */ extern const char *find_hook(const char *name); LAST_ARG_MUST_BE_NULL extern int run_hook_le(const char *const *env, const char *name, ...); |