diff options
author | Junio C Hamano <gitster@pobox.com> | 2017-04-23 22:07:57 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-04-23 22:07:57 -0700 |
commit | 5938454cbc585e0f4bdd9f1cc87c6886a3c1bff3 (patch) | |
tree | 72bb28f592f0b3207fcfb25f243287ca6e4b18c3 /fetch-pack.c | |
parent | 2d646e3e1fd0ae7f525034abee73d06ac8946729 (diff) | |
parent | 5781a9a2703e96b01587bb95ceebcc53f2cee91c (diff) | |
download | git-5938454cbc585e0f4bdd9f1cc87c6886a3c1bff3.tar.gz |
Merge branch 'dt/xgethostname-nul-termination'
gethostname(2) may not NUL terminate the buffer if hostname does
not fit; unfortunately there is no easy way to see if our buffer
was too small, but at least this will make sure we will not end up
using garbage past the end of the buffer.
* dt/xgethostname-nul-termination:
xgethostname: handle long hostnames
use HOST_NAME_MAX to size buffers for gethostname(2)
Diffstat (limited to 'fetch-pack.c')
-rw-r--r-- | fetch-pack.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fetch-pack.c b/fetch-pack.c index c5e6867061..afb8b05024 100644 --- a/fetch-pack.c +++ b/fetch-pack.c @@ -804,8 +804,8 @@ static int get_pack(struct fetch_pack_args *args, if (args->use_thin_pack) argv_array_push(&cmd.args, "--fix-thin"); if (args->lock_pack || unpack_limit) { - char hostname[256]; - if (gethostname(hostname, sizeof(hostname))) + char hostname[HOST_NAME_MAX + 1]; + if (xgethostname(hostname, sizeof(hostname))) xsnprintf(hostname, sizeof(hostname), "localhost"); argv_array_pushf(&cmd.args, "--keep=fetch-pack %"PRIuMAX " on %s", |