-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 16/09/17 22:16, Junio C Hamano wrote: > Subject: gc: call fscanf() with %<len>s, not %<len>c, when reading > hostname > > Earlier in this codepath, we (ab)used "%<len>c" to read the > hostname recorded in the lockfile into locking_host[HOST_NAME_MAX + > 1] while substituting <len> with the actual value of > HOST_NAME_MAX. > > This turns out to be incorrect, as it an instruction to read > exactly it -> it is > the specified number of bytes. We are trying to read at most that > many bytes, we should be using "%<len>s" instead. > > Helped-by: A. Wilcox <awilfox@xxxxxxxxxxxxxxx> Signed-off-by: Junio > C Hamano <gitster@xxxxxxxxx> --- builtin/gc.c | 2 +- 1 file > changed, 1 insertion(+), 1 deletion(-) > > diff --git a/builtin/gc.c b/builtin/gc.c index > 3c78fcb9b1..bb2d6c1fb2 100644 --- a/builtin/gc.c +++ > b/builtin/gc.c @@ -258,7 +258,7 @@ static const char > *lock_repo_for_gc(int force, pid_t* ret_pid) int should_exit; > > if (!scan_fmt) - scan_fmt = xstrfmt("%s %%%dc", "%"SCNuMAX, > HOST_NAME_MAX); + scan_fmt = xstrfmt("%s %%%ds", "%"SCNuMAX, > HOST_NAME_MAX); fp = fopen(pidfile_path, "r"); memset(locking_host, > 0, sizeof(locking_host)); should_exit = > Ack. This is what I used in my testing; looks great. Thanks so much for your time and patience. Sincerely, - --arw - -- A. Wilcox (awilfox) Project Lead, Adélie Linux http://adelielinux.org -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJZve4WAAoJEMspy1GSK50UruQP/3rca4kZp/mootkcgJrNwlSc 5SvFETaBMYb9M6CewOIgDWtQVqdGmkX+vhlyz/fO1aMUzed9JNgoYD0Fj8S+8RL/ aan96+Om94znlWydSlU48ZaR69sbj012TSJBvQdAs9K9Nfi40lMVGi8BvI5vsAG0 PCMyAUB4N6b9FYUNb6zO73JjmQSYzYV2TFOvACFgHwZ7ailyeyGI3LIP5Yd4OiF1 ERyJIKDoBjf0ns95xjox+HYFzG3VFDriM6GdEG1w25sLG+nvWxy/XV1Dv/K1/LiV VzSJ3FEdNdOoO5SLcX4uRMYzRKLt3ihwnwIS6SC44Xd7XaqaWpfpueGxilQCI3Yn FNWB3mX9oeXICIvM6PscJTzRLJd+gp3RbyLfavaQ2cNakrL9z+Qm5v6a52ufCqvP SGdruVLGLDCR0qPWokKa64+uSfi6QNNmVgzVx4fRIwbMSUm1+sEh0uIjqgTQPBTq Jyn6og/T234punjBI+GuEXhsb3FEbJh2xGyOQbmhW4l/DPzerUpXJAgCPC2JT93+ Z1s0aeDqC0n/dMHofVd8ZRFKt/ImVT0ywg7A9bJahhaJwmtkh0Xgb2hLgO5FGeuI zY+9FI+doH6Al+KgxqSduKfxDOsEoxYRLCRYO2QnNjE7iYLIdUYRXEucw3Z/VQA1 b44AES8+WthuxQKsRstE =Zwpa -----END PGP SIGNATURE-----