diff options
author | Jonathan Nieder <jrnieder@gmail.com> | 2012-07-05 22:21:09 -0500 |
---|---|---|
committer | Jonathan Nieder <jrnieder@gmail.com> | 2012-07-05 23:26:53 -0500 |
commit | 96a60a87098534b74e3b98e636ec65daea9823a7 (patch) | |
tree | c4d107606b5d8cc1fedded2be798c9ec02d46ebf /vcs-svn | |
parent | vcs-svn: suppress a signed/unsigned comparison warning (diff) | |
download | tgif-96a60a87098534b74e3b98e636ec65daea9823a7.tar.xz |
vcs-svn: suppress a signed/unsigned comparison warning
All callers pass a nonnegative delta_len, so the code is already safe.
Add an assertion to ensure that remains so and add a cast to keep
clang and gcc -Wsign-compare from worrying.
Reported-by: David Barr <davidbarr@google.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Diffstat (limited to 'vcs-svn')
-rw-r--r-- | vcs-svn/svndiff.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/vcs-svn/svndiff.c b/vcs-svn/svndiff.c index e810d0c3ff..74c97c4543 100644 --- a/vcs-svn/svndiff.c +++ b/vcs-svn/svndiff.c @@ -77,8 +77,9 @@ static int error_short_read(struct line_buffer *input) static int read_chunk(struct line_buffer *delta, off_t *delta_len, struct strbuf *buf, size_t len) { + assert(*delta_len >= 0); strbuf_reset(buf); - if (len > *delta_len || + if (len > (uintmax_t) *delta_len || buffer_read_binary(delta, buf, len) != len) return error_short_read(delta); *delta_len -= buf->len; @@ -290,7 +291,7 @@ error_out: int svndiff0_apply(struct line_buffer *delta, off_t delta_len, struct sliding_view *preimage, FILE *postimage) { - assert(delta && preimage && postimage); + assert(delta && preimage && postimage && delta_len >= 0); if (read_magic(delta, &delta_len)) return -1; |