From 1b41d15a99dfcddb99975d17cfbcd61d8870a887 Mon Sep 17 00:00:00 2001 From: Marc-André Lureau Date: Wed, 28 Mar 2012 13:30:18 +0200 Subject: Fix harmless warnings in quic_encode() The quic code has been changed recently this way: - ASSERT(encoder->usr, line); + if (line == NULL) { + spice_warn_if_reached(); + return QUIC_ERROR; + } It appears that the only caller of quic_encode() gives a NULL line and rely on the more_lines() callback to return new lines instead. Adjust the code accordingly, adding a few more checks to verify the caller gives/returns correct values. --- common/quic.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/common/quic.c b/common/quic.c index 27f637b..3e7c802 100644 --- a/common/quic.c +++ b/common/quic.c @@ -1194,7 +1194,7 @@ static void quic_image_params(Encoder *encoder, QuicImageType type, int *channel #define FILL_LINES() { \ if (line == lines_end) { \ int n = encoder->usr->more_lines(encoder->usr, &line); \ - if (n <= 0) { \ + if (n <= 0 || line == NULL) { \ encoder->usr->error(encoder->usr, "more lines failed\n"); \ } \ lines_end = line + n * stride; \ @@ -1238,11 +1238,11 @@ int quic_encode(QuicContext *quic, QuicImageType type, int width, int height, int i; #endif - if (line == NULL) { + lines_end = line + num_lines * stride; + if (line == NULL && lines_end != line) { spice_warn_if_reached(); return QUIC_ERROR; } - lines_end = line + num_lines * stride; quic_image_params(encoder, type, &channels, &bpc); -- cgit v1.2.3