Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
jrn committed Jul 6, 2012
1 parent c68038e commit 96a60a8
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions vcs-svn/svndiff.c
Expand Up @@ -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;
Expand Down Expand Up @@ -290,7 +291,7 @@ static int apply_one_window(struct line_buffer *delta, off_t *delta_len,
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;
Expand Down

0 comments on commit 96a60a8

Please sign in to comment.