From: Jeff King Date: Wed, 13 Sep 2017 17:11:28 +0000 (-0400) Subject: get-tar-commit-id: check write_in_full() return against 0 X-Git-Tag: v2.14.3~3^2~6 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/68a423ab3e5c160e1162382d2ef0831039b298d4 get-tar-commit-id: check write_in_full() return against 0 We ask to write 41 bytes and make sure that the return value is at least 41. This is the same "dangerous" pattern that was fixed in the prior commit (wherein a negative return value is promoted to unsigned), though it is not dangerous here because our "41" is a constant, not an unsigned variable. But we should convert it anyway to avoid modeling a dangerous construct. Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- diff --git a/builtin/get-tar-commit-id.c b/builtin/get-tar-commit-id.c index e21c5416cd..6d9a79f9b3 100644 --- a/builtin/get-tar-commit-id.c +++ b/builtin/get-tar-commit-id.c @@ -33,8 +33,7 @@ int cmd_get_tar_commit_id(int argc, const char **argv, const char *prefix) if (!skip_prefix(content, "52 comment=", &comment)) return 1; - n = write_in_full(1, comment, 41); - if (n < 41) + if (write_in_full(1, comment, 41) < 0) die_errno("git get-tar-commit-id: write error"); return 0;