From 98ed0243e773cc66e074da26caffe7312d143fef Mon Sep 17 00:00:00 2001 From: Laszlo Ersek Date: Tue, 12 Oct 2021 00:36:26 +0200 Subject: [PATCH] lib/proto: suppress "may be used uninitialized" in send_file_complete() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit gcc emits the following warning: > proto.c: In function ‘send_file_complete’: > proto.c:437:10: error: ‘buf’ may be used uninitialized > [-Werror=maybe-uninitialized] > 437 | return send_file_chunk (g, 0, buf, 0); > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In theory, passing the 1-byte array "buf", with indeterminate contents, to xdr_bytes() ultimately, could be fine -- assuming xdr_bytes() never reads the contents of the buffer, due to the buffer size being zero. However, the xdr_bytes() manual does not seem to guarantee this (it also does not explicitly permit passing a NULL buffer alongside size=0, which would be even simpler for the caller). In order to shut up the compiler, just zero-initialize the buffer -- that's simpler than adding diagnostics pragmas. The "maybe-uninitialized" warning is otherwise very useful, so keep it globally enabled (per WARN_CFLAGS / WERROR_CFLAGS). Signed-off-by: Laszlo Ersek Message-Id: <20211011223627.20856-3-lersek@redhat.com> Acked-by: Richard W.M. Jones --- lib/proto.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/proto.c b/lib/proto.c index 3976e98b5..f798ece05 100644 --- a/lib/proto.c +++ b/lib/proto.c @@ -433,7 +433,7 @@ send_file_cancellation (guestfs_h *g) static int send_file_complete (guestfs_h *g) { - char buf[1]; + char buf[1] = { '\0' }; return send_file_chunk (g, 0, buf, 0); }