From: Richard W.M. Jones Date: Fri, 18 Mar 2011 11:21:55 +0000 (+0000) Subject: daemon: Print error for invalid chunk.cancel field. X-Git-Tag: 1.9.12~6 X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=commitdiff_plain;h=1e68f84c5a46f3ff650368a897bd4113bd3f4aea;ds=sidebyside daemon: Print error for invalid chunk.cancel field. The chunk.cancel field should always be [0|1]. If it is not then something has gone badly wrong -- probably loss of synchronization. If this occurs print a debug message and return error from receive_file function. --- diff --git a/daemon/proto.c b/daemon/proto.c index 90a8388..cef1146 100644 --- a/daemon/proto.c +++ b/daemon/proto.c @@ -405,6 +405,13 @@ receive_file (receive_cb cb, void *opaque) "receive_file: got chunk: cancel = 0x%x, len = %d, buf = %p\n", chunk.cancel, chunk.data.data_len, chunk.data.data_val); + if (chunk.cancel != 0 && chunk.cancel != 1) { + fprintf (stderr, + "receive_file: chunk.cancel != [0|1] ... " + "continuing even though we have probably lost synchronization with the library\n"); + return -1; + } + if (chunk.cancel) { if (verbose) fprintf (stderr, "receive_file: received cancellation from library\n");