diff options
author | Shawn O. Pearce <spearce@spearce.org> | 2006-12-30 21:55:22 -0500 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-12-30 22:22:14 -0800 |
commit | 95d3c4f546c664c3571dd4a93f11ae2f54e55e6e (patch) | |
tree | 47ecc50397a10256e9f27921bffa2689cdf51343 /run-command.h | |
parent | cd83c74cb3161a19b5efd33f40cfe378c2f64ddb (diff) | |
download | git-95d3c4f546c664c3571dd4a93f11ae2f54e55e6e.tar.gz |
Use /dev/null for update hook stdin.
Currently the update hook invoked by receive-pack has its stdin
connected to the pushing client. The hook shouldn't attempt to
read from this stream, and doing so may consume data that was
meant for receive-pack. Instead we should give the update hook
/dev/null as its stdin, ensuring that it always receives EOF and
doesn't disrupt the protocol if it attempts to read any data.
The post-update hook is similar, as it gets invoked with /dev/null
on stdin to prevent the hook from reading data from the client.
Previously we had invoked it with stdout also connected to /dev/null,
throwing away anything on stdout, to prevent client protocol errors.
Instead we should redirect stdout to stderr, like we do with the
update hook.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'run-command.h')
-rw-r--r-- | run-command.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/run-command.h b/run-command.h index 8156eac31b..59c4476ced 100644 --- a/run-command.h +++ b/run-command.h @@ -11,7 +11,7 @@ enum { ERR_RUN_COMMAND_WAITPID_NOEXIT, }; -#define RUN_COMMAND_NO_STDIO 1 +#define RUN_COMMAND_NO_STDIN 1 #define RUN_GIT_CMD 2 /*If this is to be git sub-command */ #define RUN_COMMAND_STDOUT_TO_STDERR 4 int run_command_v_opt(const char **argv, int opt); |