* [PATCH] Fix useless comparison bug
@ 2011-05-26 14:01 Chris Wilson
0 siblings, 0 replies; only message in thread
From: Chris Wilson @ 2011-05-26 14:01 UTC (permalink / raw)
To: git
The variable 'actual' was declared with a size_t type. In this line:
actual = read_in_full(fd, buf, sz);
read_in_full returns a ssize_t type. Since size_t is unsigned and
ssize_t is signed, the value is implicitly converted from a signed
type to an unsigned type. That makes this comparison useless,
if (actual < 0)
die_errno("index-stream: reading input");
as it will always be false. This means, on an error path, git will
continue when it should die gracefully.
This bug was introduced in 4dd1fbc.
Signed-off-by: Chris Wilson <cwilson@vigilantsw.com>
---
Hi Folks,
Sentry found this committed in last nights snapshot.
Chris Wilson
http://vigilantsw.com/
Vigilant Software
sha1_file.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/sha1_file.c b/sha1_file.c
index 064a330..c251af8 100644
--- a/sha1_file.c
+++ b/sha1_file.c
@@ -2704,7 +2704,7 @@ static int index_stream(unsigned char *sha1, int fd, size_t size,
while (size) {
char buf[10240];
size_t sz = size < sizeof(buf) ? size : sizeof(buf);
- size_t actual;
+ ssize_t actual;
actual = read_in_full(fd, buf, sz);
if (actual < 0)
--
1.6.3.3
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2011-05-26 14:02 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-05-26 14:01 [PATCH] Fix useless comparison bug Chris Wilson
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.