[PATCH 2/7] get-tar-commit-id: check write_in_full() return against 0
- From
Jeff King <peff@peff.net>
- Date
- Sep 13, 2017, 17:11 UTC
- Message-ID
- <20170913171127.ocnitq6wz57ivhrh@sigill.intra.peff.net>
- In-Reply-To
- <20170913170807.cyx7rrpoyhaauvol@sigill.intra.peff.net>
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 <peff@peff.net> --- builtin/get-tar-commit-id.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
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;
-- 2.14.1.874.ge7b2e05270