]> git.ipfire.org Git - thirdparty/git.git/commit - pkt-line.c
prefer "!=" when checking read_in_full() result
authorJeff King <peff@peff.net>
Wed, 27 Sep 2017 06:00:28 +0000 (02:00 -0400)
committerJunio C Hamano <gitster@pobox.com>
Wed, 27 Sep 2017 06:45:24 +0000 (15:45 +0900)
commit61d36330b422237b6be9581cdbade07782ab61a8
tree3992d5a85c03b6d88924c10f7a79b252e44c36be
parenta1f3515da74504db0a046759d9ac1615a1d5f4b8
prefer "!=" when checking read_in_full() result

Comparing the result of read_in_full() using less-than is
potentially dangerous, as a negative return value may be
converted to an unsigned type and be considered a success.
This is discussed further in 561598cfcf (read_pack_header:
handle signed/unsigned comparison in read result,
2017-09-13).

Each of these instances is actually fine in practice:

 - in get-tar-commit-id, the HEADERSIZE macro expands to a
   signed integer. If it were switched to an unsigned type
   (e.g., a size_t), then it would be a bug.

 - the other two callers check for a short read only after
   handling a negative return separately. This is a fine
   practice, but we'd prefer to model "!=" as a general
   rule.

So all of these cases can be considered cleanups and not
actual bugfixes.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/get-tar-commit-id.c
csum-file.c
pkt-line.c