--- a/libpurple/protocols/oscar/bstream.c Tue Aug 20 14:04:56 2013 +0200 +++ b/libpurple/protocols/oscar/bstream.c Wed Aug 21 14:59:29 2013 +0200 @@ -49,8 +49,11 @@ g_free(bs->data); } -int byte_stream_bytes_left(ByteStream *bs) +size_t byte_stream_bytes_left(ByteStream *bs) { + g_return_val_if_fail(bs != NULL, 0); + g_return_val_if_fail(bs->len < bs->offset, 0); + return bs->len - bs->offset; } @@ -79,7 +82,7 @@ int byte_stream_advance(ByteStream *bs, int n) { g_return_val_if_fail(byte_stream_curpos(bs) + n >= 0, 0); - g_return_val_if_fail(n <= byte_stream_bytes_left(bs), 0); + g_return_val_if_fail((gsize)n <= byte_stream_bytes_left(bs), 0); bs->offset += n; return n;